text:
Il 16/12/2016 11:24, Franco dellavalle ha scritto:
> Il giorno venerdì 16 dicembre 2016 11:11:35 UTC+1, Alessandro Cara ha scritto:
>> Il 16/12/2016 10:37, Franco dellavalle ha scritto:
>>> Il giorno venerdì 16 dicembre 2016 09:08:55 UTC+1, Franco dellavalle ha scritto:
>>>> ciao a tutti
>>>>
>>>> non riesco a legare questa chiamata ad una sub
>>>> Call Email & (X) & _InvA(Me.Name)
>>>>
>>>> grazie.
>>>
>>> ho fatto un piccolo passo avanti
>>> dim X as String
>>> X = IIf(IsNull(IdCliente), IIf(IsNull(IdFornitore), "IdAgen", "IdFornitore"), "IdCliente")
>>> X = Mid(X, 3)
>>> X = "Email" & (X) & "_invA"
>>>
>>> 'Call EmailCliente_InvA(Me.Name)<-questa è come dovrebbe essere la chiamata
>>> Call X(Me.Name) <-questa è la costruzione
>>>
>>> ma ho errore di compilazione: prevista sub, function o property
>>>
>>
>> Toh   sei arrivato alle chiamate /dinamiche/
>> E quello chiama la funzione X
>> Sta roba se non ricordo male si fa con la Eval
>>
https://msdn.microsoft.com/en-us/library/office/aa172212(v=office.11).aspx

>
> ciao Alessandro
> ho fatto cosi
> X = Eval(X(Me.Name))
> call X
>
> ma ho l'errore: prevista matrice

>
None : Metti tutto dentro X e poi   rc=Eval(X)



title: errore di compilazione: previsto fine istruzione

author: Franco dellavalle

text:

anche se faccio cosi,
X = X(Me.Name)
Call Eval(X)
mi da: prevista matrice


author: Alessandro Cara

text:
Il 16/12/2016 11:24, Franco dellavalle ha scritto:
P.S.

X = "Email" & (X) & "_invA('" & Me.Name & "')"
rc=Eval(X)



text:

grazie Alessandro
rc sta per Call?
perchè se è cosi,
mi dice: impossibile trovare il nome di funzione immesso nell'espresione


text:
Il 16/12/2016 12:31, Franco dellavalle ha scritto:
> Il giorno venerdì 16 dicembre 2016 12:15:20 UTC+1, Alessandro Cara ha scritto:
>> Il 16/12/2016 11:24, Franco dellavalle ha scritto:
>> P.S.
>>
>> X = "Email" & (X) & "_invA('" & Me.Name & "')"
>> rc=Eval(X)
>
> grazie Alessandro
> rc sta per Call?
> perchè se è cosi,
> mi dice: impossibile trovare il nome di funzione immesso nell'espresione
>
no rc sta per returncode

La funzione deve essere dichiarata pubblica
Evidentemente EmailCliente_InvA() non lo e'



text:

rc
a me da variabile non definita

in piu'
Public Sub EmailCliente_InvA(strFrm As String)


text:

Lascia perdere la rc e' chiaro che se non la dichiari (Dim rc) ed hai
l'opzione che richiede la dichiarazione ti da errore
Scrivi solo la eval (visto che e' una Sub e non ritorna valori)

La funzione deve essere dichiarata Public in un modulo.

Guardati gli esempi che sono presenti nel link che ho citato



text:

il problema è che  se faccio in questo modo
X = "Email" & (X) & "_invA(M_MiaForm)"
passa;
Mentre cosi no....
X = "Email" & (X) & "_invA('" & Me.Name & "')"

da come ho notato sono i due apici 'Me.Name'
che creano l'errore


text:

ok
X = "Email" & (X) & "_invA(" & chr(34) & Me.Name & chr(34) & ")"



text:

grazie Alessandro
ma ancora non mi trova il nome di funzione immessa
ho provato nella finestra immediata in tutti i modi
ma ancora nulla


author: Karl Donaubauer

text:
Salve,

Franco dellavalle:
> Alessandro Cara ha scritto:
>> ...
>>>>> Public Sub EmailCliente_InvA(strFrm As String)
>>...
>> X = "Email" & (X) & "_invA(" & chr(34) & Me.Name & chr(34) & ")"
> ...
> ma ancora non mi trova il nome di funzione immessa
> ho provato nella finestra immediata in tutti i modi
> ma ancora nulla

Come già dice il messaggio di errore Eval aspetta una funzione -->

Public Function EmailCliente_InvA(strFrm As String)

--
Ciao
Karl
*********
Access FAQ:
http://www.donkarl.com/it


text:

ciao Karl e grazie

io sono fermo a questo punto
X = IIf(IsNull(IdCliente), IIf(IsNull(IdFornitore), "IdAgen", "IdFornitore"), "IdCliente")
X = Mid(X, 3)
X = "Email" & (X) & "_invA('" & Me.Name & "')"
Call Eval(X)
come devo procedere?

non dovrebbe trovarla lui la
Public Sub EmailCliente_InvA(strFrm As String)
oppure
Public Sub EmailFornitore_InvA(strFrm As String)
ecc. ecc.


text:

questa è una delle sub

Public Sub EmailCliente_InvA(strFrm As String)

Dim strSql As String

strSql = vbNullString
strSql = strSql & "SELECT "
strSql = strSql & "IdEmailCliente, "
strSql = strSql & "IdCliente, "
strSql = strSql & "EmailCliente As Email, "
Select Case strFrm
Case Is = "M_InvioLC"
strSql = strSql & "Invio_ListaCarico As InvioDoc, "
strSql = strSql & "InvA "
Case Is = "M_InvioLC1"
strSql = strSql & "Invio_ListaCarico1 As InvioDoc, "
strSql = strSql & "InvA1 As InvA "
Case Is = "M_InvioSollecitoChiusure"
strSql = strSql & "Invio_SollecitoChiusure As InvioDoc, "
strSql = strSql & "InvA2 As InvA "
Case Is = "M_InvioEtichetta"
strSql = strSql & "Invio_EtichettaCliente As InvioDoc, "
strSql = strSql & "InvA4 As InvA "

End Select
strSql = strSql & "FROM TbEmailClienti "
strSql = strSql & "WHERE IdCliente = cliCriterio() "
strSql = strSql & "ORDER BY EmailCliente"

DBEngine(0)(0).QueryDefs("Qry_Email").SQL = strSql

End Sub


text:

ok ci sono riuscito
modificando Public Sub EmailCliente_InvA(strFrm As String) in Public Sub EmailCliente_InvA(strFrm As String)
Eval "Email" & (X) & "_invA(" & Chr(34) & Me.Name & Chr(34) & ")"

ma va bene fare cosi'?


text:
Il 17/12/2016 17:59, Franco dellavalle ha scritto:

> ok ci sono riuscito
> modificando Public Sub EmailCliente_InvA(strFrm As String) in Public Sub EmailCliente_InvA(strFrm As String)
> Eval "Email" & (X) & "_invA(" & Chr(34) & Me.Name & Chr(34) & ")"
>
> ma va bene fare cosi'?
>

e come altro vuoi fare?



text:
Il 17/12/2016 17:59, Franco dellavalle ha scritto:

> ok ci sono riuscito
> modificando

     Public Sub EmailCliente_InvA(strFrm As String)
  in Public Sub EmailCliente_InvA(strFrm As String)

e qui dove sta la differenza?



text:
Caro Cara... roba da aguzza la vista...

@ALEX


text:
Il 17/12/2016 19:51, Alessandro Cara ha scritto:
> Il 17/12/2016 17:59, Franco dellavalle ha scritto:
>
>> ok ci sono riuscito
>> modificando Public Sub EmailCliente_InvA(strFrm As String) in Public
>> Sub EmailCliente_InvA(strFrm As String)
>> Eval "Email" & (X) & "_invA(" & Chr(34) & Me.Name & Chr(34) & ")"
>>
>> ma va bene fare cosi'?
>>
>
> e come altro vuoi fare?
>

Probabilmente non ti serve la chiamata /dinamica/ ma questa e' un'altra
storia.



text:

chiedo scusa per l'errore, ho
modificando Public Sub EmailCliente_InvA(strFrm As String) in Public Function EmailCliente_InvA(strFrm As String)


text:

ora ho quest altra situazione...
Dim uvEmail As Variant
Dim X As String
Dim Y As Integer

X = IIf(IsNull(IdCliente), IIf(IsNull(IdFornitore), _
  "IdAgen", "IdFornitore"), "IdCliente")
X = Mid(X, 3, 2)
Y = IIf(IsNull(IdCliente), IIf(IsNull(IdFornitore), _
  [IdAgen], [IdFornitore]), [IdCliente])
uvEmail = Eval("UnisciValEmail" & (X) & "('" & Me.Name & "'," & Y & ")")

da richiamare:
Public Function UnisciValEmailCl(strFrm As String, MioCampo As Long) As Variant()
dove MioCampo è l'Id

ma ho l'errore: 2425 impossibile trovare il nome di funzione immesso nell'espressione


text:
Il 18/12/2016 11:11, Franco dellavalle ha scritto:
>>
>> chiedo scusa per l'errore, ho
>> modificando Public Sub EmailCliente_InvA(strFrm As String) in Public Function EmailCliente_InvA(strFrm As String)
>
> ora ho quest altra situazione...
> Dim uvEmail As Variant
> Dim X As String
> Dim Y As Integer
>
> X = IIf(IsNull(IdCliente), IIf(IsNull(IdFornitore), _
>   "IdAgen", "IdFornitore"), "IdCliente")
> X = Mid(X, 3, 2)
> Y = IIf(IsNull(IdCliente), IIf(IsNull(IdFornitore), _
>   [IdAgen], [IdFornitore]), [IdCliente])
> uvEmail = Eval("UnisciValEmail" & (X) & "('" & Me.Name & "'," & Y & ")")
>
> da richiamare:
> Public Function UnisciValEmailCl(strFrm As String, MioCampo As Long) As Variant()
> dove MioCampo è l'Id
>
> ma ho l'errore: 2425 impossibile trovare il nome di funzione immesso nell'espressione
>

Hai chiaro che di funzioni ne devi avere almeno tre?
Function UnisciValEmailCl
Function UnisciValEmailFo
Function UnisciValEmailAg



text:

ciao Alessandro e grazie

si, certo.

da come ho notato è As Variant() nella function che crea il problema,
ma non so come modificarla per passare l'Arrey,
questa è quella funzionante (non dinamica) per "UnisciValEmailCl"
uvEmail = UnisciValEmailCl(Me.Name, IdCliente),
questa è quella dinamica non funzionante
uvEmail = Eval("UnisciValEmail" & (X) & "('" & Me.Name & "'," & Y & ")")
InvioA = uvEmail(0)
InvioCC = uvEmail(1)

questa è una delle function

___________inizio____________

Public Function UnisciValEmailCl(strFrm As String, MioCampo As Long) As Variant()
  Dim rst As DAO.Recordset
  Dim UnisciValEmailCl_A As String, UnisciValEmailCl_CC As String
  Dim strSql As String
  Dim valori() As Variant

  UnisciValEmailCl_A = ""
  UnisciValEmailCl_CC = ""
  strSql = vbNullString
  strSql = strSql & "SELECT "
  Select Case strFrm
    Case Is = "M_InvioLC"
    strSql = strSql & "IIf(Invio_ListaCarico <> 0 And InvA <> 0, EmailCliente, '') As EmailCliente_A, "
    strSql = strSql & "IIf(Invio_ListaCarico <> 0 And InvA = 0, EmailCliente, '') As EmailCliente_CC "
    Case Is = "M_InvioLC1"
    strSql = strSql & "IIf(Invio_ListaCarico1 <> 0 And InvA1 <> 0, EmailCliente, '') As EmailCliente_A, "
    strSql = strSql & "IIf(Invio_ListaCarico1 <> 0 And InvA1 = 0, EmailCliente, '') As EmailCliente_CC "
    Case Is = "M_InvioSC"
    strSql = strSql & "IIf(Invio_SollecitoChiusure <> 0 And InvA2 <> 0, EmailCliente, '') As EmailCliente_A, "
    strSql = strSql & "IIf(Invio_SollecitoChiusure <> 0 And InvA2 = 0, EmailCliente, '') As EmailCliente_CC "
    Case Is = "M_InvioEtichetta"
    strSql = strSql & "IIf(Invio_EtichettaCliente <> 0 And InvA4 <> 0, EmailCliente, '') As EmailCliente_A, "
    strSql = strSql & "IIf(Invio_EtichettaCliente <> 0 And InvA4 = 0, EmailCliente, '') As EmailCliente_CC "

  End Select
  strSql = strSql & "From TbEmailClienti "
  strSql = strSql & "WHERE IdCliente = " & MioCampo & " ORDER BY EmailCliente;"
  Set rst = CurrentDb().OpenRecordset(strSql)

  If rst.EOF Then GoTo Fine
  rst.MoveFirst
  Do Until rst.EOF
    UnisciValEmailCl_A = UnisciValEmailCl_A & rst!EmailCliente_A & ";"
    UnisciValEmailCl_CC = UnisciValEmailCl_CC & rst!EmailCliente_CC & ";"
    rst.MoveNext
  Loop
  UnisciValEmailCl_A = Left(UnisciValEmailCl_A, Len(UnisciValEmailCl_A) - 1)
  UnisciValEmailCl_CC = Left(UnisciValEmailCl_CC, Len(UnisciValEmailCl_CC) - 1)

Fine:
  valori = Array(UnisciValEmailCl_A, UnisciValEmailCl_CC)
  Set rst = Nothing
  Let UnisciValEmailCl = valori()
 End Function


text:
Il 19/12/2016 10:46, Franco dellavalle ha scritto:
> Il giorno lunedì 19 dicembre 2016 10:11:41 UTC+1, Alessandro Cara ha scritto:
>> Il 18/12/2016 11:11, Franco dellavalle ha scritto:
>>>>
>>>> chiedo scusa per l'errore, ho
>>>> modificando Public Sub EmailCliente_InvA(strFrm As String) in Public Function EmailCliente_InvA(strFrm As String)
>>>
>>> ora ho quest altra situazione...
>>> Dim uvEmail As Variant
>>> Dim X As String
>>> Dim Y As Integer
>>>
>>> X = IIf(IsNull(IdCliente), IIf(IsNull(IdFornitore), _
>>>   "IdAgen", "IdFornitore"), "IdCliente")
>>> X = Mid(X, 3, 2)
>>> Y = IIf(IsNull(IdCliente), IIf(IsNull(IdFornitore), _
>>>   [IdAgen], [IdFornitore]), [IdCliente])
>>> uvEmail = Eval("UnisciValEmail" & (X) & "('" & Me.Name & "'," & Y & ")")
>>>
>>> da richiamare:
>>> Public Function UnisciValEmailCl(strFrm As String, MioCampo As Long) As Variant()
>>> dove MioCampo è l'Id
>>>
>>> ma ho l'errore: 2425 impossibile trovare il nome di funzione immesso nell'espressione
>>>
>>
>> Hai chiaro che di funzioni ne devi avere almeno tre?
>> Function UnisciValEmailCl
>> Function UnisciValEmailFo
>> Function UnisciValEmailAg

> ciao Alessandro e grazie
>
> si, certo.
>
> da come ho notato è As Variant() nella function che crea il problema,

Da cosa lo hai notato?
Se access comunica che /non/ trova il nome funzione quello e'.
Guarda che scrivere x=valori() significa richiamare la funzione valori.

UnisciValEmailCl = valori
forse e' meglio.



text:

ciao Alessandro

> > da come ho notato è As Variant() nella function che crea il problema,
> Da cosa lo hai notato?

che se tolgo  As Variant()
me la trova la Function
altrimenti non la trova


text:

con
UnisciValEmailCl = valori
mi trova la function
ma alla fine
ho l'errore:
13 - tipo non corrispondente


text:

1) Non serve definire valori come array. Lo imposti con la funziona
array e ci pensa lui a fare le cose.
2) Verifica che valori sia correttamente impostato
3) La tua funzione se va per .EOF non so davvero cosa diavolo possa
impostare in /valori/
4) La funzione che non ti trovava era valori()



text:

ciao Alessandro
forse non ho ben capito il tuo suggerimento...

Public Function UnisciValEmailCl(strFrm As String, MioCampo As Long)
qui ho tolto "As Variant"
Poi.........

Fine:
  UnisciValEmailCl = Array(UnisciValEmailCl_A, UnisciValEmailCl_CC)
  'valori = Arrey(UnisciValEmailCl_A, UnisciValEmailCl_CC)
  Set rst = Nothing
  Let UnisciValEmailCl = UnisciValEmailCl

ma non mi funziona


text:

> ciao Alessandro
> forse non ho ben capito il tuo suggerimento...
>
> Public Function UnisciValEmailCl(strFrm As String, MioCampo As Long)
> qui ho tolto "As Variant"
> Poi.........
>
> Fine:
>   UnisciValEmailCl = Array(UnisciValEmailCl_A, UnisciValEmailCl_CC)
>   'valori = Arrey(UnisciValEmailCl_A, UnisciValEmailCl_CC)
>   Set rst = Nothing
>   Let UnisciValEmailCl = UnisciValEmailCl
>
> ma non mi funziona
>

Perche' hai tolto la variabile di ritorno? Vabbe' che dovrebbe prenderla
come default.

Io parlavo di Dim valori() as Variant
E' sufficiente dim valori o dim valori as variant.

Punto 3 e' ok (ho visto che inizializzi a /empty/ le due variabili.
...........
Fine:
     Set rst = Nothing
     UnisciValEmailCl = Array(UnisciValEmailCl_A, UnisciValEmailCl_CC)
End Function

Prova ad unire le due variabili con un carattere di riconoscimento
(a&"!"&b per intenderci)
Poi ne puoi fare la split nella funzione chiamante.



text:

_______________________________

Dim uvEmail As Variant
Dim InvioA As String, InvioCC As String

X = IIf(IsNull(IdCliente), IIf(IsNull(IdFornitore), _
  "IdAgen", "IdFornitore"), "IdCliente")
X = Mid(X, 3, 2)
Y = IIf(IsNull(IdCliente), IIf(IsNull(IdFornitore), _
      [IdAgen], [IdFornitore]), [IdCliente])
uvEmail = Eval("UnisciValEmail" & (X) & "('" & Me.Name & "'," & Y & ")")
'a questo punto passa alla function
Public Function UnisciValEmailCl(strFrm As String, MioCampo As Long) As Variant
....
....
Fine:
  Set rst = Nothing
  UnisciValEmailCl = Array(UnisciValEmailCl_A & "|" & UnisciValEmailCl_CC)
End Function

'ma quando ritorna alla funzione chiamante
salta direttamente alla gestione errori: 13 - tipo non corrispondente;
senza esguire..............
InvioA = Split(uvEmail, "|")(0)
InvioCC = Split(uvEmail, "|")(1)


text:
Il 19/12/2016 18:12, Franco dellavalle ha scritto:

> Dim uvEmail As Variant
> Dim InvioA As String, InvioCC As String
>
> X = IIf(IsNull(IdCliente), IIf(IsNull(IdFornitore), _
>   "IdAgen", "IdFornitore"), "IdCliente")
> X = Mid(X, 3, 2)
> Y = IIf(IsNull(IdCliente), IIf(IsNull(IdFornitore), _
>       [IdAgen], [IdFornitore]), [IdCliente])
> uvEmail = Eval("UnisciValEmail" & (X) & "('" & Me.Name & "'," & Y & ")")
> 'a questo punto passa alla function
> Public Function UnisciValEmailCl(strFrm As String, MioCampo As Long) As Variant
> ....
> ....
> Fine:
>   Set rst = Nothing
>   UnisciValEmailCl = Array(UnisciValEmailCl_A & "|" & UnisciValEmailCl_CC)

e dalli!
  UnisciValEmailCl = UnisciValEmailCl_A & "|" & UnisciValEmailCl_CC

la split si fa su una stringa! Se scrivi array(blabla) genera un array
di 1 elemento.



text:

grazie Alessandro
quello dell'Array è stato un errore di distrazione.
Cmq sei stato grande.................
Ora funziona!!!
;-)


text:
Il 19/12/2016 19:16, Franco dellavalle ha scritto:

> Cmq sei stato grande.................
> Ora funziona!!!
> ;-)

Mica tanto!
Tre giorni ed otto camicie ;-)



text:

grazie ancora Alessandro
cmq l'importante è il risultato


title: [Contributo] Elenco Indici e Relazioni

author: Carlo Costarella

text:
Ogni tanto mi commuovo...
Eccomi con un piccolo contributo indirizzato principalmente ai neofiti.
Lo spunto mi è stato dato da
al...@libero.it
 con il suo post "Troppi indici
sulla tabella..." dove non si spiega come sia impossibile creare più di 32
relazioni per tabella.
L'esempio proposto consente proprio di verificare se si sono raggiunti i
limiti di Access quanto a indici o relazioni oppure più semplicemente per
avere sottomano la situazione indici/relazioni del db.
Si tratta di una routine che elenca tutti gli indici presenti in un db
insieme al numero di tabelle; non tralascia le relazioni riportandone GUID,
TblPrincipale e TblEsterna. Richiede DAO.
La routine si appoggia ad una tabella chiamata "Tbl_Relazioni" che andrà
implementata con queste caratteristiche:
GUID_Relazione     campo testo 255 caratteri
TblPrincipale     campo testo 255 caratteri
TblEsterna     campo testo 255 caratteri
NIndici     campo Numerico
NTabelle    campo Numerico
Nessun indice o chiave primaria.
(ovviamente ognuno potra crearsi la propria tabella modificando
opportunamente il codice)
Questa la routine da inserire in un modulo pubblico:
Option Compare Database
Option Explicit
Public Sub ScansionePerIndiciAndRelazioni()
'Autore Carlo Costarella
'Azioni: Accoda in una tabella (Tbl_Relazioni)
'sia il numero di indici presenti nel DB
'che il numero di tabelle (comprese quelle di sistema)
'Inoltre aggiunge alla tabella tutte le relazioni presenti nel DB
'con la propria GUID, tabella principale e tabella esterna
'N.B. Richiede DAO
On Error GoTo errore
    Dim ContaI As Integer
    Dim NTbl As Integer
    Dim RR As Relation
    Dim dbs As Database
    Dim Tdf As TableDef
    Dim TblR As Recordset
Set dbs = CurrentDb
    NTbl = 0
    ContaI = 0
    dbs.CreateRelation
    For Each Tdf In dbs.TableDefs
    Set Tdf = dbs.TableDefs(Tdf.Name)
        NTbl = NTbl + 1
        With Tdf
        ContaI = ContaI + .Indexes.Count
    End With
    Next
DoCmd.SetWarnings False
DoCmd.RunSQL "delete * from Tbl_Relazioni;"
DoCmd.SetWarnings True
Set TblR = CurrentDb.OpenRecordset("Tbl_Relazioni")
    With TblR
        .AddNew
        !NIndici = ContaI
        !NTabelle = NTbl
        .Update
        End With
    For Each RR In dbs.Relations
        With TblR
        .AddNew
        !GUID_Relazione = RR.Name
        !TblPrincipale = RR.Table
        !TblEsterna = RR.ForeignTable
        .Update
        End With
    Next
errore:
 If Err.Number = 3110 Then Resume Next
dbs.Close
TblR.Close
Set TblR = Nothing
End Sub
Ovviamente i webMaster dei siti collegati possono liberamente copiare e
pubblicare il tutto.
Ciao, Carlo


title: [Contributo] Elenco Indici e Relazioni

text:
Dimenticavo di aggiungere che i limiti sono:
32 indici per tabella
32 relazioni per tabella MENO il numero di indici per quella tabella .
Ciao, Carlo


title: [Contributo] Elenco Indici e Relazioni

text:
Questa:
     NTbl = 0
    ContaI = 0
    dbs.CreateRelation
    For Each Tdf In dbs.TableDefs
 va corretta in:
     NTbl = 0
    ContaI = 0
    For Each Tdf In dbs.TableDefs
Va eliminato dbs.CreateRelation...un refuso di codice.
Ciao, Carlo


title: [Contributo] Elenco Indici e Relazioni

author: Sergio MAZZA

text:
"Carlo Costarella" <
carloantoni...@gmail.com
> ha scritto nel
messaggio news:glhg4g$j93$1...@tdi.cu.mi.it...
> Ogni tanto mi commuovo...
Hi! Hi!
---omissis---
> Ciao, Carlo
Ciao.
--
Sergio MAZZA


title: [Contributo] Elenco Indici e Relazioni

author: Roberto da Parma

text:
"Sergio MAZZA" <
sergi...@tiscali.it
> ha scritto nel messaggio
news:gljujs$hsu$1...@tdi.cu.mi.it...

Nella commozione partorisce cose....così.... :-)))
Ciao Carlo
--
Roberto da Parma


title: rinviare codice keydown da controllo a form

author: Giuseppe

text:
Buon pomeriggio a tutti.
Se su un controllo ho attivo  l'evento keydown, viene ignorato l'evento keydown della form.
Ho pensato quindi di modificare il codice così:
Private Sub txtIdAnagrafica_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeyF2 Then
        AperturaMaschera "mRicercaAnagrafica", acWindowNormal, "IdAnagrafica = 0", ""
    Else
        Form_KeyDown oppure Form_KeyDown() o ancora Form_KeyDown(KeyCode As Integer, Shift As Integer)
    End If
End Sub
ma nessuna delle tre opzioni dopo l'else va bene. Come faccio a far partire quell'evento su tutti i controlli che hanno attivo l'evento Keydown?
Grazie.


title: Impostare Outlook Express per docmd.sendto

author: Panathos

text:
Buongiorno a tutti/e,
su una macchina, dove Outlook Express è configurato apparentemente a
dovere, l'azione sendobject va a pescare la configurazione di Outlook,
e non c'è verso di fargli usare OE.
Finora ho provato ad impostare OE come client MAPI di default, lanciare
il comando msimn /reg, ma senza speranza.
So che è un problema più sistemistico che riguardante Access, ma non
riesco a trovare info da nessuna parte. Qualcuno ha risolto tale
impiccio?
grazie,
Panathos


title: Operatore Like

author: Prometeo

text:
Ho un database in ufficio, uso access e vorrei realizzare una query che
mi permetta di trovare un cliente anche inserendo una parte del nome:
es: se il cliente di chiama luigi io vorrei cercare il nome luigi
inserendo non tutto il nome ma parte di esso per esempio "uig".
Una volta avevo una query che utilizzava Like Ucase, ma non ricordo il
resto.
Come fare ?
--
Quando l'uomo scoprì il fuoco ...


title: Operatore Like

author: VT @ home

text:
Il Fri, 27 Jun 2008 18:18:52 GMT, Prometeo <
Lui...@libero.it
> ha scritto:
>(.....)
>Ho un database in ufficio, uso access e vorrei realizzare una query che
>mi permetta di trovare un cliente anche inserendo una parte del nome:
>es: se il cliente di chiama luigi io vorrei cercare il nome luigi
>inserendo non tutto il nome ma parte di esso per esempio "uig".
>
>Una volta avevo una query che utilizzava Like Ucase, ma non ricordo il
>resto.
SELECT * FROM Clienti WHERE RagioneSociale LIKE '*' & txtNome & '*'
dove txtNome suppongo sia una casella di testo dove l'utente digita la parte di nome che vuole ricercare
>
>Come fare ?
Vincenzo Turturro
Certificato Eucip Core Level
ITA 0000-002299 del 14/05/2007
---------------------------------------------
il sito comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------
risorse Access:
http://www.accessgroup.it
---------------------------------------------
Il sito comune di it.comp.as400
http://www.faq400.com
---------------------------------------------


title: Operatore Like

text:
VT @ home ha usato la sua tastiera per scrivere :
> Il Fri, 27 Jun 2008 18:18:52 GMT, Prometeo <
Lui...@libero.it
> ha scritto:
>> (.....)
>
>> Ho un database in ufficio, uso access e vorrei realizzare una query che
>> mi permetta di trovare un cliente anche inserendo una parte del nome:
>> es: se il cliente di chiama luigi io vorrei cercare il nome luigi
>> inserendo non tutto il nome ma parte di esso per esempio "uig".
>>
>> Una volta avevo una query che utilizzava Like Ucase, ma non ricordo il
>> resto.
>
> SELECT * FROM Clienti WHERE RagioneSociale LIKE '*' & txtNome & '*'
>
> dove txtNome suppongo sia una casella di testo dove l'utente digita la parte
> di nome che vuole ricercare
Non funziona, la vecchia query era del tipo: Like Ucase "& e poi non
ricordo più...



title: Operatore Like

text:
Prometeo ha scritto:

Impossibile!!!!Devi usare LIKE e il carattere jolly * come dice Vincenzo. Ovviamente la stringa va racchiusa tra apici semplici(EspressioneQuery = "SELECT * FROM TuaTabella WHERE TuoParametro LIKE '*" & valore & "*';"). Per cercare con le iniziali usa "..... LIKE " & valore & "*';"
--
Questo articolo e` stato inviato dal sito web
http://www.nonsolonews.it


title: Operatore Like

text:
Il Fri, 27 Jun 2008 20:44:17 GMT, Prometeo <
Lui...@libero.it
> ha scritto:
>(.....)
>VT @ home ha usato la sua tastiera per scrivere :
>> Il Fri, 27 Jun 2008 18:18:52 GMT, Prometeo <
Lui...@libero.it
> ha scritto:
>>> (.....)
>>
>>> Ho un database in ufficio, uso access e vorrei realizzare una query che
>>> mi permetta di trovare un cliente anche inserendo una parte del nome:
>>> es: se il cliente di chiama luigi io vorrei cercare il nome luigi
>>> inserendo non tutto il nome ma parte di esso per esempio "uig".
>>>
>>> Una volta avevo una query che utilizzava Like Ucase, ma non ricordo il
>>> resto.
>>
>> SELECT * FROM Clienti WHERE RagioneSociale LIKE '*' & txtNome & '*'
>>
>> dove txtNome suppongo sia una casella di testo dove l'utente digita la parte
>> di nome che vuole ricercare
>
>Non funziona
Cioè ?
Ottieni un errore ? Quale ?
Non restituisce alcun record ?
Restituisce tutti i record ?
Restituisce solo alcuni record ma non quelli che ti aspetti ?
... ?
Aiuta ad aiutarti !
>, la vecchia query era del tipo: Like Ucase "& e poi non ricordo più...
Prova con
SELECT * FROM Clienti WHERE Ucase(RagioneSociale) LIKE '*' & Ucase(txtNome) & '*'



title: Operatore Like

text:
>> Non funziona
>
> Cioè ?
> Ottieni un errore ? Quale ?
mi dice che la sotto query deve essere racchiusa tra parentesi
> Prova con
>
> SELECT * FROM Clienti WHERE Ucase(RagioneSociale) LIKE '*' & Ucase(txtNome) &
mi dice che la sottoquery deve essere racchiusa tra parentesi



title: Operatore Like

text:
Prometeo ha scritto:
>>> Non funziona
>>
>> Cioč ?
>> Ottieni un errore ? Quale ?
>
>
>mi dice che la sotto query deve essere racchiusa tra parentesi
>
>
>> Prova con
>>
>> SELECT * FROM Clienti WHERE Ucase(RagioneSociale) LIKE '*' & Ucase(txtNome) &
>
>mi dice che la sottoquery deve essere racchiusa tra parentesi
>
Quale sottoquery?



title: Operatore Like

text:
Fair87 wrote:
> Prometeo ha scritto:
>>>
>>> Cioè ?
>>> Ottieni un errore ? Quale ?
>>
>>
>> mi dice che la sotto query deve essere racchiusa tra parentesi
>>
>>
>>> Prova con
>>>
>>> SELECT * FROM Clienti WHERE Ucase(RagioneSociale) LIKE '*' &
>>> Ucase(txtNome) &
>>
>> mi dice che la sottoquery deve essere racchiusa tra parentesi
>>
> Quale sottoquery?
Forse lui non ha incollato l'enunciato SQL di Vincenzo nella vis. SQL
della query, ma come campo calcolato nella vis. struttura.
--
cu
Karl
*********
Access FAQ:
www.donkarl.com/it


title: Operatore Like

text:
Karl Donaubauer ha scritto:

Magari è così, ci dirà quando si ricollega....
Ciao
Roberto



title: Operatore Like

text:
Fair87 wrote:
> Prometeo ha scritto:
>> VT @ home ha usato la sua tastiera per scrivere :
>>> Il Fri, 27 Jun 2008 18:18:52 GMT, Prometeo <
Lui...@libero.it
> ha scritto:
>>>> (.....)
>>>> Ho un database in ufficio, uso access e vorrei realizzare una query che
>>>> mi permetta di trovare un cliente anche inserendo una parte del nome:
>>>> es: se il cliente di chiama luigi io vorrei cercare il nome luigi
>>>> inserendo non tutto il nome ma parte di esso per esempio "uig".
>>>>
>>>> Una volta avevo una query che utilizzava Like Ucase, ma non ricordo il
>>>> resto.
>>> SELECT * FROM Clienti WHERE RagioneSociale LIKE '*' & txtNome & '*'
>>>
>>> dove txtNome suppongo sia una casella di testo dove l'utente digita la parte
>>> di nome che vuole ricercare
>> Non funziona, la vecchia query era del tipo: Like Ucase "& e poi non
>> ricordo più...
>>
> Impossibile!!!!Devi usare LIKE e il carattere jolly * come dice Vincenzo.
>
Possibile se usa ADO. usare Ucase non credo faccia differenza.
Ma con ADO: like "%" & somevalue "%" funziona. In ADO che funzioni con
"*" ho qualche dubbio.
--
ac
y-1=x


title: Operatore Like

text:
> Forse lui non ha incollato l'enunciato SQL di Vincenzo nella vis. SQL
> della query, ma come campo calcolato nella vis. struttura.
è vero, messa con SQL funziona tutto, solo che a me occorre la stringa
da inserire in modalità struttura:
la vecchia iniziava con Like Ucase ............



title: Operatore Like

text:
Il Sun, 29 Jun 2008 08:00:34 GMT, Prometeo <
Lui...@libero.it
> ha scritto:
>(.....)
>> Forse lui non ha incollato l'enunciato SQL di Vincenzo nella vis. SQL
>> della query, ma come campo calcolato nella vis. struttura.
>
>è vero, messa con SQL funziona tutto, solo che a me occorre la stringa
>da inserire in modalità struttura:
E allora ?
Visualizza la query in modalità struttura invece che in modalità SQL !
>
>la vecchia iniziava con Like Ucase ............
Vincenzo Turturro



title: Contatore in maschera

author: Express

text:
Buona sera a tutti,
Ad ogni apertura della Miamaschera, il contatore del miocontrollo(non
associato) dovrebbe partire da 1.
Nel report ho risolto, ma a me serve nella maschera.
Grazie a chi mi darà sostegno
--<EXP>>--


title: Contatore in maschera

author: paolo p.

text:
Express <
expre...@libero.it
> ha scritto:

se è una maschera multipla non lo puoi fare(lo devi associare). Se è
singola basta che metti 1 nel valore di default e se vuoi incrementare lo
gestisci da vb.
ciao Paolo
Inviato da
www.mynewsgate.net


title: Contatore in maschera

author: ALESSANDRO Baraldi

text:
"Express" <
expre...@libero.it
> ha scritto nel messaggio
news:Wi9wb.137554$vO5.5...@twister1.libero.it...

Inserisci la seguente Funzione in un Modulo poi nella proprietà
OrigineControllo
della TextBox scrivi : =GetRecNum()
Public Function GetRecNum() As Long
'==========================================================================
'Name      : GetRecNum()
'Purpose   :
'Author    : Maurizio Borrelli
'Web_Site  :
http://digilander.iol.it/ik2zok/
'E.Mail    :
ik2...@libero.it
'Date      : 01 febbraio 2002
'Called by :
'Calls     :
'Inputs    :
'Output    : Posizione assoluta del record corrente+1
'==========================================================================
  On Error GoTo erh
  With CodeContextObject.RecordsetClone
    If Not (.BOF And .EOF) Then
      .Bookmark = CodeContextObject.Bookmark
      GetRecNum = .AbsolutePosition + 1
    End If
  End With
ext:
  Exit Function
erh:
  GetRecNum = 0
End Function
Ciao.
@Alex.


title: Contatore in maschera

text:
"paolo p." <21...@mynewsgate.ned.invalid> ha scritto nel messaggio
news:200311232...@mynewsgate.net...

Non è corretto Paolo, se è una maschera in visualizzazione continue si può
fare
così come se se fosse Foglio Dati.
Per le Form in visualizzazione singola è esattamente la stessa cosa.
Dai uno sguardo alla Funzione del mesaggio ....!
Ciao.
@Alex.


title: Contatore in maschera

text:
CUT
> Ciao.
> @Alex.
>
Premetto che ho questo modulo:
Option Compare Database

  On Error GoTo erh

ext:
  Exit Function
erh:
  GetRecNum = 0
End Function
nella proprietą OrigineControllo della TextBox ho inserito: =GetRecNum()
Nel controllo Mi segnala : #Nome?
Grazie per la disponibilitą
--<EXP>>--


title: Contatore in maschera

text:
"Express" <
expre...@libero.it
> ha scritto nel messaggio
news:Mbnwb.138695$vO5.5...@twister1.libero.it...

Hai impostato la Libreria di DAO 3.51 o 3.6...........????
In quella Funzione si fa uso di RecordsetClone metodo esposto
solo da DAO, pertanto se usi versioni di Access>97 potrebbe essere
il problema.
Ciao.
@Alex.


title: Contatore in maschera

text:
"ALESSANDRO Baraldi" <
ik2...@libero.it
> ha scritto nel messaggio
news:bpth8r$qk1$1...@lacerta.tiscalinet.it...

> > nella proprietà OrigineControllo della TextBox ho inserito: =GetRecNum()
> >
> > Nel controllo Mi segnala : #Nome?
> >
> > Grazie per la disponibilità
> >
> > --<EXP>>--
>
> Hai impostato la Libreria di DAO 3.51 o 3.6...........????
> In quella Funzione si fa uso di RecordsetClone metodo esposto
> solo da DAO, pertanto se usi versioni di Access>97 potrebbe essere
> il problema.
>
> Ciao.
> @Alex.
>
Scusami ti sembrerà banale, ma da doce si imposta il riferimento?
Intanto che ci provo, grazie e adomani
Come diro di là..
EXP


title: Contatore in maschera

text:
ALESSANDRO Baraldi <
ik2...@libero.it
> ha scritto:
>
CUT>
> Non è corretto Paolo, se è una maschera in visualizzazione continue si può
> fare
> così come se se fosse Foglio Dati.
> Per le Form in visualizzazione singola è esattamente la stessa cosa.
>
> Dai uno sguardo alla Funzione del mesaggio ....!
>
> Ciao.
> @Alex.
>
..Azz
Dopo che hai passato la giornata cercando di darmi una mano, ho cercato di
rendermi utile a qualcuno anch'io, però....
ciao e scusa ad Express (tra l'altro ho provato ed effettivamente funziona
perfettamente)
  Paolo
Inviato da
www.mynewsgate.net


title: Contatore in maschera

text:
"paolo p." <21...@mynewsgate.ned.invalid> ha scritto nel messaggio
news:200311242...@mynewsgate.net...

Hai fatto bene, così hai visto una novità......!
Ciao.
@Alex


title: Contatore in maschera

text:
"ALESSANDRO Baraldi" <
ik2...@libero.it
> ha scritto nel messaggio
news:bpth8r$qk1$1...@lacerta.tiscalinet.it...

> > nella proprietà OrigineControllo della TextBox ho inserito: =GetRecNum()
> >
> > Nel controllo Mi segnala : #Nome?
> >
> > Grazie per la disponibilità
> >
> > --<EXP>>--
>
> Hai impostato la Libreria di DAO 3.51 o 3.6...........????
> In quella Funzione si fa uso di RecordsetClone metodo esposto
> solo da DAO, pertanto se usi versioni di Access>97 potrebbe essere
> il problema.
>
> Ciao.
> @Alex.
>
Ho impostato la libreria DAO 3.51 (Uso A2K)
Ti chiedo umilmente scusa ma mi sfuggiva di precisarti che il contatore
è nella MiaSottomaschera della MiaMaschera !!!!!
e penso che questo cambi un po le cose, perchè  se attivo direttamente  la
SM, il contatore funziona, però nel posto dove effettivamente verrà
utilizzato non và.
Grazie EXP
Però mi succede questo:
Se inserisco i dati nella sottoma


title: SQL Server: campi varchar o nvarchar?

author: Massimiliano Bertoglio

text:
I programmi di conversione DB JET  ---- SQL Server optano sempre per il
formato testo nvarchar ... tuttavia mi chiedevo quale sia il vantaggio
reale?
Immagino se l'applicazione sia destinata in paesi con alfabeto non
occidentale.
Sulla documentazione del Server non riesco a trovare un'informazione chiara
sull'allocazione fisica delle due tipologie: sulla carta nvarchar dovrebbe
allocare 1 byte in piů rispetto alla tipologia non Unicode...
Che ne pensate?
Ciao a tuti!


title: SQL Server: campi varchar o nvarchar?

text:
Massimiliano Bertoglio wrote:
> I programmi di conversione DB JET  ---- SQL Server optano sempre per il
> formato testo nvarchar ... tuttavia mi chiedevo quale sia il vantaggio
> reale?
>
> Immagino se l'applicazione sia destinata in paesi con alfabeto non
> occidentale.
>
> Sulla documentazione del Server non riesco a trovare un'informazione chiara
> sull'allocazione fisica delle due tipologie: sulla carta nvarchar dovrebbe
> allocare 1 byte in più rispetto alla tipologia non Unicode...
>
> Che ne pensate?
>
> Ciao a tuti!
>
>
>
varchar(n): fino a 8000 char: 1 byte per gni carattere. I caratteri
dichiarati ma non utilizzati non occupano spazio
nvarchar(n): fino a 4000 char: 2 byte per gni carattere. I caratteri
dichiarati ma non utilizzati non occupano spazio
sql server 7.0
--
ac
y-1=x


title: SQL Server: campi varchar o nvarchar?

text:
"Alessandro Cara" <
> varchar(n): fino a 8000 char: 1 byte per gni carattere. I caratteri
> dichiarati ma non utilizzati non occupano spazio
>
> nvarchar(n): fino a 4000 char: 2 byte per gni carattere. I caratteri
> dichiarati ma non utilizzati non occupano spazio
Ok, quindi come nella logica.
Ma all'atto pratico quale tipologia utilizzi?
Se si lavora in ambito europeo dovrebbe bastare varchar() o mi sfugge
qualcosa?
Ciao!


title: SQL Server: campi varchar o nvarchar?

text:

a meno che non mi aspetti evoluzioni complicate tendo ad utilizzare i
varchar. Male che vada si puo' sempre fare il passo successivo
"alterando" l'attributo.
--
ac
y-1=x


title: [OT] - Si ricomincia!

author: MC

text:
Buongiorno a tutto il NG!
La tanto sospirata ed attesa pausa estiva è per me volta al termine e sono
nuovamente operativo in quel di Longuelo (frazione di BG per i
"profani"!!!).
Auguro a tutto il NG un profiquo anno lavorativo e non solo.
Saluti,
--
MC (ex strano...mavero)


title: [OT] - Si ricomincia!

author: MA

text:
MC wrote:
> Buongiorno a tutto il NG!
> La tanto sospirata ed attesa pausa estiva è per me volta al termine e
> sono nuovamente operativo in quel di Longuelo (frazione di BG per i
> "profani"!!!).
> Auguro a tutto il NG un profiquo anno lavorativo e non solo.
> Saluti,
Bentornato
--
_ _
Ciao
MAssimiliano Amendola
www.accessgroup.it
Cisa - Conferenza Italiana per Sviluppatori Access
Info:
www.donkarl.com/it


title: [OT] - Si ricomincia!

text:
"MC" <
mauro.c...@gmail.com
> ha scritto nel messaggio news:deh6ro$2nb$1...@domitilla.aioe.org...

Io vado sul... Non solo; l'anno lavorativo ve lo lascio volentieri!
Ciao e bentornato!
--
Sergio MAZZA


title: [OT] - Si ricomincia!

author: Roberto dalla campagna

text:
"MC" <
mauro.c...@gmail.com
> ha scritto nel messaggio
news:deh6ro$2nb$1...@domitilla.aioe.org...

Strano ... ma bentornato.
--
Roberto
-----------------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
----------------------------------------------------


title: differenza tra la propriètà TEXT e VALUE

author: Luisa

text:
Io uso sempre nomeoggetto.Value, e allora perchè hanno messo anche la
proprietà TEXT?
Non è scomodo attivare il  Set focus prima di riempire un controllo?
Ciao Luisa
--


text:
"Luisa" <
lu...@netquasar.com
> ha scritto nel messaggio
news:WFBL5.62528$3K3.1...@news.infostrada.it...

Perché "attivi" il setfocus? Se fai Me.casella = "Ciao" non attivi nessun
focus e riempi la casella con il valore. O forse non ho capito il problema?
Ciao.


text:
Luisa <
lu...@netquasar.com
> ha scritto:
> Io uso sempre nomeoggetto.Value, e allora perchè hanno messo anche la
> proprietà TEXT?
> Non è scomodo attivare il  Set focus prima di riempire un controllo?
Normalmente non si usa Text per riempire un controllo ma per
leggere il suo contenuto quando ha riempito il controllo a mano
e il focus è ancora nel controllo. In questo momento non è possibile
di leggere con Value perché il valore non è ancora nel buffer della
maschera e certo non ancora nel recordsource. L'unico metodo per
ottenere il valore in questo momento è la proprietà Text.
--
HTH
Karl
*********
Scusate il mio malissimo Italiano. Faccio solo esercizi qui.
Access-FAQ (Tedesco):
http://www.donkarl.com


author: sib

text:
Luisa dice
> Io uso sempre nomeoggetto.Value, e allora perchè hanno messo anche la
> proprietà TEXT?
> Non è scomodo attivare il  Set focus prima di riempire un controllo?
.Value contiene il valore del controllo
.Text contiene il testo che ci stai digitando dentro (che non è la stessa
cosa del valore, ma te ne accorgi solo in determinate corcostanze)
.SetFocus non contiene niente, e' il metodo per porre il fuoco sul controllo
Queste tre cose si usano separatamente e indipendentemente l'una dall'altra
peche' non c'entrano niente l'una con l'altra.
Ciao, Sib
--
------------------------------------------------------
il sito comune di it.comp.database.access:
http://members.xoom.it/it_db_access
------------------------------------------------------
4000 anni fa', il saggio egizio Ptahhotep scrisse:
"... perche' non esistono saggi per nascita."
------------------------------------------------------
Saturiamo ECHELON:
bomba saddam attentato medio oriente


title: raggruppare per valori a scalare

author: francesco

text:
ciao a tutti; ho una situazione seguente:
giovanni aaabaabbab
nicola bbbaabaabb
giuseppe aaaabbaab
vorrei fare una cosa del tipo
giovanni aaaaaabbbb
nicola aaaabbbbbb
giuseppe aaabbbbbbb
spero di aver illustrato bene il problema
grazie
Francesco
--------------------------------
Inviato via
http://arianna.libero.it/usenet/


title: raggruppare per valori a scalare

author: Nick

text:
"francesco" <
dd...@virgilio.it
> ha scritto nel messaggio news:193Z205Z174Z38Y...@usenet.libero.it...

ma la stringa aababababa č una stringa in un unico campo? o sono pių campi? sono attaccate o tra di loro c'č un separatore?
ciao
Nick


title: raggruppare per valori a scalare

author: Valerio Valentini

text:
"francesco" <
dd...@virgilio.it
> ha scritto nel messaggio
news:193Z205Z174Z38Y...@usenet.libero.it...

Non dici dove vuoi ottenere il risultato, ma utilizzando una query che può
servirti ovunque e soprattutto sperando che tu abbia nome e cognome separati
è sufficiente che tu ordini una query per il campo cognome e se ti servono
uniti faccia un terzo campo calcolato tipo NomeCognome: [Nome] & " " &
[Cognome].
Qualora i due campi non siano separati, per quanto ne sappia io, le cose si
complicano. Dovresti usare un pò di codice tramite le funzioni Mid() Right()
e Left() per trovare lo spazio tra nome e cognome per portarli in due campi
distinti e poi procedere come sopra. Se hai solo nomi o solo cognomi doppi
procedi da destra verso sinistra o viceversa, se sono misti AIUTO!!!!
Ciao Valerio.


title: raggruppare per valori a scalare

text:
                    Il 22 Set 2004, 12:23, "Nick" <senz...@chiedetesul.NG> ha scritto:
>
> "francesco" <
dd...@virgilio.it
> ha scritto nel messaggio
news:193Z205Z174Z38Y...@usenet.libero.it...
> > ciao a tutti; ho una situazione seguente:
> >
> > giovanni aaabaabbab
> > nicola bbbaabaabb
> > giuseppe aaaabbaab
> >
> > vorrei fare una cosa del tipo
> >
> > giovanni aaaaaabbbb
> > nicola aaaabbbbbb
> > giuseppe aaabbbbbbb
> >
> > spero di aver illustrato bene il problema
> >
> > grazie
> >
> > Francesco
> >
> > --------------------------------
> > Inviato via
http://arianna.libero.it/usenet/
>
> ma la stringa aababababa è una stringa in un unico campo? o sono più
campi? sono attaccate o tra di loro c'è un separatore?
>
> ciao
> Nick
>
sono piu' campi; ogni lettera un campo separato
ciao
F



title: raggruppare per valori a scalare

text:
[CUT]
>> > ciao a tutti; ho una situazione seguente:
>> >
>> > giovanni aaabaabbab
>> > nicola bbbaabaabb
>> > giuseppe aaaabbaab
>> >
>> > vorrei fare una cosa del tipo
>> >
>> > giovanni aaaaaabbbb
>> > nicola aaaabbbbbb
>> > giuseppe aaabbbbbbb
>> >
>> > spero di aver illustrato bene il problema
>> >
[CUT]
>> ma la stringa aababababa è una stringa in un unico campo? o sono più
> campi? sono attaccate o tra di loro c'è un separatore?
[CUT]
> sono piu' campi; ogni lettera un campo separato
>
allora creati un unico campo dove metti ituoi campi separati uno dietro l'altro e un nuovo campo testo
poi con questa parte di routine VBA controlli e crei la nuova espressione (aggiungi il caricamento del recordset)
dim car_p as string, car_a as string, tempostr as string
dim i as integer, j as integer
car_a > left (rst!campounito,1)
rst.edit
rst!nuovocampo = car_a
rst.update
i = 1
'inizio controllo conle altre lettere
do while not i = len(rst!campounito)
i = i+1
car_a = mid (rst!campounito,i,1) ' memorizzo il carattere
j = 1
do while not j > len (rst!nuovocampo)
        car_p = mid (rst!nuovocampo, j, 1) ' memorizzo il carattere presente
        if car_p >= car_a then ' se trovo che il carattere presente è maggiore o uguale inserisco quello letto
            tempostr = mid (rst!nuovocampo, 1, j) ' memorizzo la stringa che precede la mia lettera da inserire
            tempostr = tempostr & car_a ' inserisco il carattere
            tempostr = tempostr & mid (rst!nuovocampo, j+1, len(rst!nuovocampo)) ' aggiungo ciò che resta del campo
            rst.edit
            rst!nuovocampo = tempostr
            rst.update
            exit do ' esco dal loop perchè ormai ho inserito
        end if
        j = j+1
loop
loop
salvo errori di distrazioen dovrebbe andare ... prova e facci sapere ;)
ciao
Nick


title: raggruppare per valori a scalare

text:
"Nick" <senz...@chiedetesul.NG> ha scritto nel messaggio news:pQd4d.2326$H11....@twister1.libero.it...

ecco il primo errore...
sostituisci
car_a > left (rst!campounito,1)
con
car_a = left (rst!campounito,1)
ciao
Nick


title: raggruppare per valori a scalare

text:

il problema che ogni lettera è un campo perchè ogni campo ha il suo valore e
questo è fondamentale. Unendo tutto in un campo solo si perdè ciò......non
so se mi sono spiegato



title: raggruppare per valori a scalare

text:
"francesco" <
dd...@virgilio.it
> ha scritto nel messaggio news:193Z205Z174Z38Y...@usenet.libero.it...
>                    Il 22 Set 2004, 14:02, "Nick" <senz...@chiedetesul.NG> ha scritto:
>>
>> "Nick" <senz...@chiedetesul.NG> ha scritto nel messaggio
> news:pQd4d.2326$H11....@twister1.libero.it...
>> > [CUT]
>> >>> > ciao a tutti; ho una situazione seguente:
>> >>> >
>> >>> > giovanni aaabaabbab
>> >>> > nicola bbbaabaabb
>> >>> > giuseppe aaaabbaab
>> >>> >
>> >>> > vorrei fare una cosa del tipo
>> >>> >
>> >>> > giovanni aaaaaabbbb
>> >>> > nicola aaaabbbbbb
>> >>> > giuseppe aaabbbbbbb
>> >>> >
>> >>> > spero di aver illustrato bene il problema
>> >>> >
>> > [CUT]
>> >>> ma la stringa aababababa è una stringa in un unico campo? o sono più
>> >> campi? sono attaccate o tra di loro c'è un separatore?
>> > [CUT]
>> >> sono piu' campi; ogni lettera un campo separato
>> >>
>> >
>> > allora creati un unico campo dove metti ituoi campi separati uno dietro
> l'altro e un nuovo campo testo
>> >
>>
[CUT]
>
> il problema che ogni lettera è un campo perchè ogni campo ha il suo valore e
> questo è fondamentale. Unendo tutto in un campo solo si perdè ciò......non
> so se mi sono spiegato
>
[CUT]
allora è più complicato.. ci dvo pensare ... ma x ora nn mi è venuto in mente nulla...
tieni sott'occhio il post che se mi illumino posto :)
ciao
Nick


title: raggruppare per valori a scalare

text:
                    Il 22 Set 2004, 12:32, "Valerio Valentini" <
val...@accessgroup.it
> ha
scritto:

dalla risposta deduco di essermi spiegato male; io ho un campo1=cognome, poi
una serie di campi, campo2, campo3......campoX, e il valore di questi campi
puo' essere a oppure b. La cosa che vorrei fare è quella di ordinare i
valori, per esempio prima tutti a e poi tutti i b, essendo chiaramente non
costante la a e la b nei campi. Ad esempio se i campi in totale sono 10, a
puo' essere i 3 e b in 7, a in 6 e b in 4 ecc.
Allora vorrei un ordinamento del tipo:
aaaaaaabbb
aaaabbbbbb
aabbbbbbbb
abbbbbbbbb
ho reso l'idea?
ciao
F



title: raggruppare per valori a scalare

text:
"francesco" <
dd...@virgilio.it
> ha scritto nel messaggio
news:82Z53Z74Z118Y1...@usenet.libero.it...

Ripeto, non mi dici dove ti serve, una maschera, una tabella, un report o
altro. Comunque tornando alla nostra query che puoi poi usare come vuoi puoi
provare a fare una cosa tipo:
CampoA - CampoB - CampoC - CampoD - ecc - .. - CampoUnico
CampoUnico è un campo calcolato tipo CampoUnico: [CampoA] & [CampoB] &
[CampoC] & ecc
poi ordini per CampoUnico
in pratica:
a - a - b - a - b - a - a
a - a - a - b - b - a - b
a - a - a - b - b - b - a
diventa:
a - a - a - b - b - a - b - aaabbab
a - a - a - b - b - b - a - aaabbba
a - a - b - a - b - a - a - aababaa
ordinando appunto l'ultimo campo, combinazione dei precedenti in crescendo
Se ti è d'aiuto, altrimenti fammi capire cosa mi sfugge.
Ciao Valerio.


title: raggruppare per valori a scalare

text:
                    Il 26 Set 2004, 19:51, "Valerio Valentini" <
val...@accessgroup.it
> ha
scritto:
>
> "francesco" <
dd...@virgilio.it
> ha scritto nel messaggio
> news:82Z53Z74Z118Y1...@usenet.libero.it...
> > Il 22 Set 2004, 12:32, "Valerio Valentini"
> <
val...@accessgroup.it
> ha
> > scritto:
> > >
> > > "francesco" <
dd...@virgilio.it
> ha scritto nel messaggio
> > > news:193Z205Z174Z38Y...@usenet.libero.it...
> > > > ciao a tutti; ho una situazione seguente:
> > > >
> > > > giovanni aaabaabbab
> > > > nicola bbbaabaabb
> > > > giuseppe aaaabbaab
> > > >
> > > > vorrei fare una cosa del tipo
> > > >
> > > > giovanni aaaaaabbbb
> > > > nicola aaaabbbbbb
> > > > giuseppe aaabbbbbbb
> > > >
> > > > spero di aver illustrato bene il problema
> > > >
> > > > grazie
> > > >
> > > > Francesco
> > > >
> > > > --------------------------------
> > > > Inviato via
http://arianna.libero.it/usenet/
> > >
> > > Non dici dove vuoi ottenere il risultato, ma utilizzando una query che
> puň
> > > servirti ovunque e soprattutto sperando che tu abbia nome e cognome
> > separati
> > > č sufficiente che tu ordini una query per il campo cognome e se ti
> servono
> > > uniti faccia un terzo campo calcolato tipo NomeCognome: [Nome] & " " &
> > > [Cognome].
> > > Qualora i due campi non siano separati, per quanto ne sappia io, le
cose
> > si
> > > complicano. Dovresti usare un pň di codice tramite le funzioni Mid()
> > Right()
> > > e Left() per trovare lo spazio tra nome e cognome per portarli in due
> > campi
> > > distinti e poi procedere come sopra. Se hai solo nomi o solo cognomi
> doppi
> > > procedi da destra verso sinistra o viceversa, se sono misti AIUTO!!!!
> > >
> > > Ciao Valerio.
> > >
> >
> >
> > dalla risposta deduco di essermi spiegato male; io ho un campo1=cognome,
> poi
> > una serie di campi, campo2, campo3......campoX, e il valore di questi
> campi
> > puo' essere a oppure b. La cosa che vorrei fare č quella di ordinare i
> > valori, per esempio prima tutti a e poi tutti i b, essendo chiaramente
non
> > costante la a e la b nei campi. Ad esempio se i campi in totale sono 10,
a
> > puo' essere i 3 e b in 7, a in 6 e b in 4 ecc.
> > Allora vorrei un ordinamento del tipo:
> >
> > aaaaaaabbb
> > aaaabbbbbb
> > aabbbbbbbb
> > abbbbbbbbb
> >
> > ho reso l'idea?
> >
> > ciao
> >
> > F
> >
> > --------------------------------
> > Inviato via
http://arianna.libero.it/usenet/
>
> Ripeto, non mi dici dove ti serve, una maschera, una tabella, un report o
> altro. Comunque tornando alla nostra query che puoi poi usare come vuoi
puoi
> provare a fare una cosa tipo:
>
> CampoA - CampoB - CampoC - CampoD - ecc - .. - CampoUnico
>
> CampoUnico č un campo calcolato tipo CampoUnico: [CampoA] & [CampoB] &
> [CampoC] & ecc
>
> poi ordini per CampoUnico
>
> in pratica:
>
> a - a - b - a - b - a - a
> a - a - a - b - b - a - b
> a - a - a - b - b - b - a
>
> diventa:
>
> a - a - a - b - b - a - b - aaabbab
> a - a - a - b - b - b - a - aaabbba
> a - a - b - a - b - a - a - aababaa
>
> ordinando appunto l'ultimo campo, combinazione dei precedenti in crescendo
>
> Se ti č d'aiuto, altrimenti fammi capire cosa mi sfugge.
>
> Ciao Valerio.
>
Non ha importanza la destinazione, puo' essere un report o meglio ancora una
nuova tabella. La cosa difficile secondo me e fargli fare quello che io
penso e che ho cercato di spiegare e cioč, nel mio intento vorrei mettere
tutti i valori a e b dei campi in ordine e giocando con la lista degli
stessi, cioč:
seleziona cognome=pippo dalla tabella nomi;
se il campo1=a ok metti in lista;
se il campo2=a ok metti in lista;
se il campo3=b skip al successivo
se il campo4=a ok metti in lista
insomma una sorta di loop che mi dia alla fine, sul totale di 10 campi con
valore a o b:
pasquale aaaaaabbbb
nicola aaaabbbbbb
saverio aaabbbbbbb
giulia aabbbbbbbb
sergio abbbbbbbbb
gino bbbbbbbbbb
sto provando con tutte le query possibili e immaginabili, macchč



title: raggruppare per valori a scalare

text:
"francesco" <
dd...@virgilio.it
> ha scritto nel messaggio
news:193Z205Z174Z38Y...@usenet.libero.it...
>                     Il 26 Set 2004, 19:51, "Valerio Valentini"
<
val...@accessgroup.it
> ha
> scritto:
> >
cut
>
> Non ha importanza la destinazione, puo' essere un report o meglio ancora
una
> nuova tabella. La cosa difficile secondo me e fargli fare quello che io
> penso e che ho cercato di spiegare e cioč, nel mio intento vorrei mettere
> tutti i valori a e b dei campi in ordine e giocando con la lista degli
> stessi, cioč:
>
> seleziona cognome=pippo dalla tabella nomi;
> se il campo1=a ok metti in lista;
> se il campo2=a ok metti in lista;
> se il campo3=b skip al successivo
> se il campo4=a ok metti in lista
>
> insomma una sorta di loop che mi dia alla fine, sul totale di 10 campi con
> valore a o b:
>
> pasquale aaaaaabbbb
> nicola aaaabbbbbb
> saverio aaabbbbbbb
> giulia aabbbbbbbb
> sergio abbbbbbbbb
> gino bbbbbbbbbb
>
> sto provando con tutte le query possibili e immaginabili, macchč
>
> ciao
>
> F
Cioč vuoi cambiare l'ordine dei campi o del loro contenuto? L'unica cosa che
a questo punto mi viene in mente č tramite VBA, leggendo per ogni record
campo per campo il valore e assegnandolo ad altrettante variabili per un
valore dalla prima a crescere e per l'altro dall'ultima a scalare.
Tipo messo giu circa:
ContA = 1
ContB = 10
For N = 1 to NumeroCampi
    If EVal("Campo" & ContA) = a Then
        EVal("Var" & ContA) = a
        ContA = ContA + 1
    Else
       EVal("Var" & ContB) = b
       ContB = ContB - 1
    End If
Next
e alla fine riscrivere il nuovo record o inserirlo in una nuova tabella.
L'ho buttata lě a caso, non ho guardato se EVal funziona cosě o se devi
usare una variabile ulteriore, ricordo che comunque c'č un modo per leggere
campi e variabili cosě numerate. Per i campi con un For Next puoi
sicuramente usare anche l'insieme Fields, per i valori forse una matrice.
E' comunque l'unico modo che mi viene in mente.
Ciao Valerio.


title: aggiornamento sottomaschere

text:
ho un paio di problemi: uso da poco access abbiate pazienza! Vi sarei
gratissima se mi aiutaste!
1) ho una maschera (Donazioni) con 2 sottomaschere (Privato) (Società)
Nella maschera c'è un campo Tiposoggetto che può essere Privato o
Società. Quando in un record c'è un Tiposoggetto Privato allora
vengono caricati i dati del Privato nella sottomaschera Privato,
viceversa per la Società
MA
quando creo un nuovo record come faccio a far sì che alla modifica del
campo Tiposoggetto venga aggiornata la sottomaschera con i dati dei
Privati/Società SENZA dovermi spostare dal record e tornarci? immagino
di dover mettere qualcosa nel DopoAggiornamento del TipoSoggetto della
maschera
ho provato il requery ma se requero la sottomaschera non mi seleziona i
record correttamente perchè non esegue la query di collegamento
maschera-sottomaschera che le collega nel campo TipoSoggetto
2) Come faccio a selezionare un certo record nella sottomaschera? Mi
serve visualizzare il record (collegato con join) del privato/società
quando seleziono una record Donazione. Non collego maschera e
sottomaschera sul join come fatto per il Tiposoggetto perchè sennò mi
mette nella sottomaschera un solo record e a me serve che ci siano
tutti ma selezionato quello corretto. immagino di dover mettere
qualcosa nel DopoAggiornamento
3) Come si fa a fare una selezione di record su ricerca basata su
parametri dati da un utente e generare da essi un report? Per capire io
devo selezionare da una tabella tutti i nomi che hanno il cap deciso
dall'utente e farne un report per la stampa. E se voglio far generare
un foglio excel?
Grazieeeeeeeeeeeeee!
betta


title: Ado e MsgBox e cancellazioni

author: Raffaele Alberoni

text:
Buon giorno a tutti
mi trovo con un problema nella cancellazione di record
In un programma ho le seguenti istruzioni:
Private Sub ComandoCancella_Click()
On Error GoTo Err_ComandoCancella_Click
If MsgBox("Vuoi cancellare il cliente" & Chr(13) &
Me.ClienteRagioneSociale & "?", _
           276, "A T T E N Z I O N E") = vbYes Then

        DoCmd.SetWarnings False
        DoCmd.RunCommand acCmdDeleteRecord
        DoCmd.SetWarnings True
        Me.Requery
End If
    Me.ComandoNuovo.SetFocus
Exit_ComandoCancella_Click:
    Exit Sub
Err_ComandoCancella_Click:
    MsgBox Err.Description
    Resume Exit_ComandoCancella_Click
End Sub
Queste istruzioni funzionano correttamente in un PC con win98, ma non
funzionano in uno con winXP.
Ho notato che nei riferimenti c'e' ADO 2.6 nel win98 e ADO 2.7 nel winXP.
Ma la cosa strana è che nel pc con ADO 2.7 se premo il tasto ALT
l'istruzione funziona.
Come ultima cosa strana se tolgo la parte con MSGBOX funziona.
Come mai questa cosa??
C'e' un problema dell'istruzione MSGBOX con le varie librerie ADO ???
Grazie a tutti.
Saluti.
--
Raffaele Alberoni
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news
 segnala gli abusi ad
ab...@newsland.it


title: Ado e MsgBox e cancellazioni

text:
                    Il 12 Ago 2004, 11:27, Raff...@Romagnacom.com (Raffaele Alberoni) ha
scritto:

          Aggiungi i riferimenti dao, credo che il problema sia chr
MAssimiliano
--------------------------------
Inviato via
http://arianna.libero.it/usenet/


title: Ado e MsgBox e cancellazioni

text:
MA ha scritto:


Grazie per l'interessamento MAssimiliano, ma è stata la prima cosa che ho
fatto.
Direi che la parte dei riferimenti è a posto, l'unica differenza è come
dicevo sopra ADO 2.6 e 2.7 e di conseguenza MSGBOX da dei problemi...
Ciao



title: Ado e MsgBox e cancellazioni

author: Cinzia

text:

> >           Aggiungi i riferimenti dao, credo che il problema sia chr
> > MAssimiliano
>
>
> Grazie per l'interessamento MAssimiliano, ma è stata la prima cosa che ho
> fatto.
> Direi che la parte dei riferimenti è a posto, l'unica differenza è come
> dicevo sopra ADO 2.6 e 2.7 e di conseguenza MSGBOX da dei problemi...
> Ciao
>
>
>
> --
> Raffaele Alberoni
>
Hai provato a scaricare le ultime service pack di MSJet a volte con problemi
strani su XP funziona! (non si sa mai!!!)
Cinzia


title: Ado e MsgBox e cancellazioni

author: giorgio rancati

text:
"Raffaele Alberoni" <Raff...@Romagnacom.com> ha scritto nel messaggio
news:cffd5l$tud$1...@news.newsland.it...
[CUT]
>
> Queste istruzioni funzionano correttamente in un PC con win98, ma non
> funzionano in uno con winXP.
> Ho notato che nei riferimenti c'e' ADO 2.6 nel win98 e ADO 2.7 nel winXP.
> Ma la cosa strana è che nel pc con ADO 2.7 se premo il tasto ALT
> l'istruzione funziona.
> Come ultima cosa strana se tolgo la parte con MSGBOX funziona.
> Come mai questa cosa??
> C'e' un problema dell'istruzione MSGBOX con le varie librerie ADO ???
> Grazie a tutti.
> Saluti.
>
Ciao Raffaele,
ADO non partecipa assolutamente alle istruzioni che hai postato. Sarebbe
interessante sapere cosa vuol dire *Non Funziona* (esce un messaggio di
errore ?) e la versione di Access e suo Sp che usi su WinXp
Ciao Giorgio


title: Ado e MsgBox e cancellazioni

author: namor

text:
Raffaele Alberoni ha scritto:
> MA ha scritto:

> > Aggiungi i riferimenti dao, credo che il problema sia chr
> > MAssimiliano
> Grazie per l'interessamento MAssimiliano, ma è stata la prima cosa che ho
> fatto.
> Direi che la parte dei riferimenti è a posto, l'unica differenza è come
> dicevo sopra ADO 2.6 e 2.7 e di conseguenza MSGBOX da dei problemi...
> Ciao
Né ADO né DAO hanno niente a che fare con Msgbox() e con Chr().
Sostituisci invece il Chr(13) con il vbcrlf (il ritorno a capo è
chr(13)&chr(10), non solo chr(13)), e sostituisci il 276 con i nomi delle
relative costanti (es: vbyesno+vbquestion).
Namor
--
namor at inwind punto it



title: Ado e MsgBox e cancellazioni

text:
giorgio rancati ha scritto:
> "Raffaele Alberoni" <Raff...@Romagnacom.com> ha scritto nel messaggio
> news:cffd5l$tud$1...@news.newsland.it...
> [CUT]
> >
> > Queste istruzioni funzionano correttamente in un PC con win98, ma non
> > funzionano in uno con winXP.
> > Ho notato che nei riferimenti c'e' ADO 2.6 nel win98 e ADO 2.7 nel winXP.
> > Ma la cosa strana č che nel pc con ADO 2.7 se premo il tasto ALT
> > l'istruzione funziona.
> > Come ultima cosa strana se tolgo la parte con MSGBOX funziona.
> > Come mai questa cosa??
> > C'e' un problema dell'istruzione MSGBOX con le varie librerie ADO ???
> > Grazie a tutti.
> > Saluti.
> >
> Ciao Raffaele,
> ADO non partecipa assolutamente alle istruzioni che hai postato. Sarebbe
> interessante sapere cosa vuol dire *Non Funziona* (esce un messaggio di
> errore ?) e la versione di Access e suo Sp che usi su WinXp
> Ciao Giorgio
Effettivamento devo essere un po piů completo nel spiegare il problema:
La versione č Office 2000. e non ho installato nessun SP (forse questo č
il primo problema!!!)
Il comportamento che mi fa dire non funziona č il seguente:
Se lancio la mia applicazione su Win98, il programma mi chiede se voglio
cancellare il record ..... e io confermando Si o No faccio o meno la
cancellazione.
Nell'altra macchina, invece, io premo il pulsante Cancella, il programma
rimane "fermo", e solo se premo il tasto "ALT" (provato casualmente) mi
chiede la conferma di cancellazione.
Perchč questa cosa??
Devo dire che in altre parti del programma dove c'e' MSGBOX non esegue ciň
Per me la cosa č strana
Ciao.



title: Ado e MsgBox e cancellazioni

text:
namor ha scritto:





Provato subito anche questo, ma non conta il programma come ho spiegato si
"ferma" e solo premendo ALT mi attiva il msgbox.
Ciao
--
Raffaele Alberoni



title: Ado e MsgBox e cancellazioni

text:
Raffaele Alberoni ha scritto:
> > Né ADO né DAO hanno niente a che fare con Msgbox() e con Chr().
> > Sostituisci invece il Chr(13) con il vbcrlf (il ritorno a capo č
> > chr(13)&chr(10), non solo chr(13)), e sostituisci il 276 con i nomi delle
> > relative costanti (es: vbyesno+vbquestion).
> > Namor
> Provato subito anche questo, ma non conta il programma come ho spiegato si
> "ferma" e solo premendo ALT mi attiva il msgbox.
> Ciao
Prova a togliere l'msgbox dall'if
dim risp as integer
  risp=msgbox "testo",opzioni,"titolo"
  if risp=vbyes then
  ...
Namor
--
namor at inwind punto it
questo articolo e` stato inviato via web dal servizio gratuito



title: Ado e MsgBox e cancellazioni

text:
"Raffaele Alberoni" <Raff...@Romagnacom.com> ha scritto nel messaggio
news:cfffhs$im0$1...@news.newsland.it...
> giorgio rancati ha scritto:
>
> > "Raffaele Alberoni" <Raff...@Romagnacom.com> ha scritto nel messaggio
> > news:cffd5l$tud$1...@news.newsland.it...
> > [CUT]
[CUT]
> Effettivamento devo essere un po piů completo nel spiegare il problema:
> La versione č Office 2000. e non ho installato nessun SP (forse questo č
> il primo problema!!!)
[CUT]
Ciao Raffaele,
come avrai intuito di fronte a un problema cosě strano la prima cosa da fare
č l'aggiornamento alle ultime Sp.
Ciao Giorgio


title: Ado e MsgBox e cancellazioni

text:
namor ha scritto:
> Raffaele Alberoni ha scritto:
> > > Né ADO né DAO hanno niente a che fare con Msgbox() e con Chr().
> > > Sostituisci invece il Chr(13) con il vbcrlf (il ritorno a capo è
> > > chr(13)&chr(10), non solo chr(13)), e sostituisci il 276 con i nomi delle
> > > relative costanti (es: vbyesno+vbquestion).
> > > Namor
> > Provato subito anche questo, ma non conta il programma come ho spiegato si
> > "ferma" e solo premendo ALT mi attiva il msgbox.
> > Ciao
> Prova a togliere l'msgbox dall'if
> dim risp as integer
>   risp=msgbox "testo",opzioni,"titolo"
>   if risp=vbyes then
>   ...
> Namor
Provato anche questo, ma non cambia niente, si ferma e vuole l'ALT...
(che gioco di parole!!!!!)
Ciao
--
Raffaele Alberoni



title: Ado e MsgBox e cancellazioni

text:
giorgio rancati ha scritto:
> "Raffaele Alberoni" <Raff...@Romagnacom.com> ha scritto nel messaggio
> news:cfffhs$im0$1...@news.newsland.it...
> > giorgio rancati ha scritto:
> >
> > > "Raffaele Alberoni" <Raff...@Romagnacom.com> ha scritto nel messaggio
> > > news:cffd5l$tud$1...@news.newsland.it...
> > > [CUT]
> [CUT]
> > Effettivamento devo essere un po più completo nel spiegare il problema:
> > La versione è Office 2000. e non ho installato nessun SP (forse questo è
> > il primo problema!!!)
> [CUT]
> Ciao Raffaele,
> come avrai intuito di fronte a un problema così strano la prima cosa da fare
> è l'aggiornamento alle ultime Sp.
> Ciao Giorgio
Ho installato la SP2 di Office2000, ma non è cambiato niente..
Forse esistono ulteriori Sp ???
Ciao



title: Ado e MsgBox e cancellazioni

text:
Raffaele Alberoni ha scritto:
[CUT]
> > > Effettivamento devo essere un po più completo nel spiegare il problema:
> > > La versione è Office 2000. e non ho installato nessun SP (forse questo è
> > > il primo problema!!!)
> > [CUT]
> > Ciao Raffaele,
> > come avrai intuito di fronte a un problema così strano la prima cosa da
fare
> > è l'aggiornamento alle ultime Sp.
> > Ciao Giorgio
> Ho installato la SP2 di Office2000, ma non è cambiato niente..
> Forse esistono ulteriori Sp ???
> Ciao
Io ho l'SP3, versione libreria vba 6.0.89.67 e non riesco a riprodurre il
tuo errore, funziona sempre. Prova mettere come opzioni (al posto del 276)
solo un vbyesno, forse è il defaultbutton che gli dà problemi.
Namor
--
namor at inwind punto it
questo articolo e` stato inviato via web dal servizio gratuito



title: Ado e MsgBox e cancellazioni

text:
namor ha scritto:
> Raffaele Alberoni ha scritto:
> [CUT]
> > > > Effettivamento devo essere un po più completo nel spiegare il problema:
> > > > La versione è Office 2000. e non ho installato nessun SP (forse questo
è
> > > > il primo problema!!!)
> > > [CUT]
> > > Ciao Raffaele,
> > > come avrai intuito di fronte a un problema così strano la prima cosa da
> fare
> > > è l'aggiornamento alle ultime Sp.
> > > Ciao Giorgio
> > Ho installato la SP2 di Office2000, ma non è cambiato niente..
> > Forse esistono ulteriori Sp ???
> > Ciao
> Io ho l'SP3, versione libreria vba 6.0.89.67 e non riesco a riprodurre il
> tuo errore, funziona sempre. Prova mettere come opzioni (al posto del 276)
> solo un vbyesno, forse è il defaultbutton che gli dà problemi.
> Namor
Dopo uno spuntino veloce..... ho fatto anche queste prove, caricato la
SP3, cambiato le varie versioni di opzioni del MSGBOX, ma nulla da fare...
Forse è andato in ferie....
Saluti
--
Raffaele Alberoni



title: Test connessione rete

author: GGAC & co

text:
Un saluto a tutti.
Mi potreste indicare una maniera per poter testare se una connessione di
rete è attiva?
Io ho provato gestendo l'errore che credevo venisse generato nel caso di
tentativo di accesso ad una risorsa di rete non in linea (3043) ma non
riesco a farlo funzionare. Di seguito metto quello che ho provato nel caso
qualcuno potesse tirarci fuori qualche cosa.
=====================================================================================
On Error GoTo Err_Description
 Dim Messaggio, PercorsoServer As String
 PercorsoServer = "\\MioServer\c\BackUp\Giornaliero.mdb"
 Messaggio = FormattedMsgBox("PROCEDURA DI AZZERAMENTO!@     Premere SI per
azzerare il Daily@     Premere NO per conservarlo" & Chr(13) & "" & Chr(13)
& "ANNULLA per ritornare alla maschera", vbYesNoCancel + vbQuestion +
vbDefaultButton2, "CHIUSURA")
      If Messaggio = vbYes Then
            DoCmd.OpenQuery "AccodaILGiornaliero"   'sul server
            DoCmd.CopyObject  PercorsoServer , , acTable, "DiBase"    'sul
server
            DoCmd.Quit
    ElseIf Messaggio = vbNo Then
           DoCmd.Quit
   ElseIf Messaggio = vbCancel Then
           Me.CasellaCombinata24.SetFocus
  End If
Err_Description:
If Err.Number = 3043 Then
  MsgBox "CONNESSIONE DI RETE ASSENTE" & vbCrLf & "IMPOSSIBILE COPIARE DB
SUL SERVER", vbOKOnly + vbCritical, "CHIUSURA"
        CasellaCombinata24.SetFocus
        DoCmd.OpenQuery "FaccioPuliziaInLocale"
        DoCmd.Quit
      End If
End Sub


title: Test connessione rete

author: Sergio MAZZA

text:
"GGAC & co" <
LEVAM...@tin.it
> ha scritto nel messaggio
news:InzJg.89301$_J1.7...@twister2.libero.it...

Prova a riadattare questo codice:
'---
On Error Resume Next
Dim WshNet
Set WshNet = CreateObject("Wscript.Network")
WshNet.MapNetworkDrive "Z:", "\\nomePc\risorsaDaMappare", , "utente",
"password"
If Err.Number = 0 Then
    MsgBox "Ok"
Else
    MsgBox "non Ok"
End If
Set WshNet = Nothing
On Error GoTo 0
'---
Ciao.
--
Sergio MAZZA


title: Test connessione rete

text:
CUT
> Prova a riadattare questo codice:
> '---
> On Error Resume Next
> Dim WshNet
> Set WshNet = CreateObject("Wscript.Network")
> WshNet.MapNetworkDrive "Z:", "\\nomePc\risorsaDaMappare", , "utente",
> "password"
> If Err.Number = 0 Then
>    MsgBox "Ok"
> Else
>    MsgBox "non Ok"
> End If
> Set WshNet = Nothing
> On Error GoTo 0
> '---
>
> Ciao.
> --
> Sergio MAZZA
Ok, Grande Mago, funziona.
L'unica cosa è che è ONE SHOT, nel senso che se lo ripeto senza aver
disconnesso mi da che la risorsa non è in rete.
Per ora mi accontento ma continuo a spulciare.
Grazie


title: Test connessione rete

text:
"GGAC & co" <
LEVAM...@tin.it
> ha scritto nel messaggio
news:5REJg.89083$zy5.1...@twister1.libero.it...
> CUT
>
> Ok, Grande Mago, funziona.
> L'unica cosa è che è ONE SHOT, nel senso che se lo ripeto senza aver
> disconnesso mi da che la risorsa non è in rete.
> Per ora mi accontento ma continuo a spulciare.
> Grazie
Se lo ripeti senza disconnetterlo ti presenta errore perché la risorsa, con
quella lettera, è già mappata.
Manca quindi il pezzo di codice che ti effettua la disconnessione; lo trovi
nell'help di WSH (Windows Scripting Host) alla voce: Metodo
RemoveNetworkDrive
qui:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnanchor/html/scriptinga.asp
Puoi anche scaricarlo in italiano...
Ciao.
--
Sergio MAZZA


title: Test connessione rete

text:
Grandissimo Mago, giuro però che ci stavo arrivando, forse fra un par d'anni
ma c'arivavo  :-))


title: Test connessione rete

text:
"GGAC & co" <
LEVAM...@tin.it
> ha scritto nel messaggio
news:0vTJg.90671$_J1.7...@twister2.libero.it...
> Grandissimo Mago, giuro però che ci stavo arrivando, forse fra un par
> d'anni ma c'arivavo  :-))
Mejo tardi che mai...
Ciao.
--
Sergio MAZZA


title: apertura di piu form una a fianco dell'altra (come schede)

author: mario rossi

text:
apro già diverse maschere che si sovrappongono una all'altra, ma vorrei aprirle massimizzate a tutto schermo e quella apro dopo si aprisse creando una scheda in alto tipo meno in modo da poter navigare fra una form e l'altra.

è possibile?

gerazie.


text:
Quello che chiedi si può fare... ma non è semplicissimo...
Secondo me faresti meglio usare un Ribbon ben strutturato... ad esempio.

Oppure perché non usi proprio una struttura schede...?
Form Master Massimizzata NON ASSOCIATA e struttura a schede.
Ogni scheda una Subform che poi è la tua form da usare...
Puoi gestire la visibilità delle pagine ed anche dei button.
Se non ti piacciono le pagine o i button nativi metti NULLA e crei una OptionButton con tante Option quante sono me pagine e su AfterUpdate cambi pagina...

Fantasia... e semplicità, soprattutto se le conoscenze sono da consolidare.

@Alex


text:

ottimo consiglio grazie.


title: metodo findfirst

author: Andrea

text:
gentili NG's friends,
qual č il metodo piů veloce di ricercare un record in un recordset tenendo
conto che i parametri di filtro sono piů di uno?
Io ho trovato il metodo findfirst ma non riesco ad usarlo con piů di un
filtro (cioč mettendo due o piů) condizioni separate da "and".
saluti
andrea c.


title: metodo findfirst

author: Alessandro Cara

text:
"Andrea" <
ac...@inwind.it
> ha scritto nel messaggio
news:0Hpk9.11879$e31.2...@twister2.libero.it...

1)  Non imposti correttamente le condizioni
2) Ha ragione la FindFirst (i.e. non trova alcunche' per le condizioni
impostate)
3) Fai un bel ciclo sul recordset e usa le if
4) Lascia perde (questo e' il metodo piu' veloce)
--
a.cara


title: metodo findfirst

author: Roberto da casa

text:
"Andrea" <
ac...@inwind.it
> ha scritto nel messaggio
news:0Hpk9.11879$e31.2...@twister2.libero.it...
> gentili NG's friends,
>
> qual è il metodo più veloce di ricercare un record in un recordset tenendo
> conto che i parametri di filtro sono più di uno?
> Io ho trovato il metodo findfirst ma non riesco ad usarlo con più di un
> filtro (cioè mettendo due o più) condizioni separate da "and".
>
> saluti
> andrea c.
Quanto è scritto qui di seguito è stato copiato da un esempio contenuto
sull'help in linea di Access:
==============================
Nell'esempio riportato di seguito si crea un oggetto Recordset di tipo
dynaset e si utilizza il metodo FindFirst per individuare il primo record
che soddisfa i criteri specificati. La routine trova quindi gli altri record
che soddisfano i criteri.
Sub TrovaRecord()
 Dim dbs As Database, rst As Recordset
 Dim strCriteri As String
 ' Restituisce il riferimento al database corrente.
 Set dbs = CurrentDb
 ' Definisce i criteri di ricerca.
 strCriteri = "[PaeseDestinatario] = 'UK' And [DataOrdine] >= #1-1-95#"
 ' Crea un oggetto Recordset di tipo dynaset in base alla tabella Ordini.
 Set rst = dbs.OpenRecordset("Ordini", dbOpenDynaset)
 ' Trova il primo record corrispondente.
 rst.FindFirst strCriteri
' Controlla se il record è stato trovato.
 If rst.NoMatch Then
  MsgBox "Impossibile trovare record."
 Else
  ' Trova altri record corrispondenti.
  Do Until rst.NoMatch
   Debug.Print rst!PaeseDestinatario; "   "; rst!DataOrdine
   rst.FindNext strCriteri
  Loop
 End If
 rst.Close
 Set dbs = Nothing
End Sub
=============================
Ogni tanto uno sguardo all'help non è una cosa sbagliata: si risparmia un
fregaccio di tempo in prove ed in attese di risposte sul NG. ;-)
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


title: Ricerca

author: Santilli Marco

text:
Io ho 6 campi nella mia maschera.
I primi 3 mi identificao un libro:
ISBN
Titolo
Casa editrice
E gli altri il cliente
Nome
Cognome
Tel
Analizziamo i primi 3 campi
Ho gia creato una tabella dove ho messo tutti i libri di cui sono in
possesso per vendere
Io vorei che appena inserisco il codice ISBN tramite un menù a tendina, che
so fare, mi comparisse il rispettivo titolo nel campo titolo e la casa
editrice nel campo casa editrice.
Come devo fare.
La tabella da dove prende i dati dei libri si chiama "anagrafica libri" la
maschera per inserire gli ordini si chiama "ordinazioni"
Vi prego aiutatemi, la richiesta e semplice, appena immetto il codice mi
deve resituire il titolo e la casa editrice, poi io conitnuerò a mettere i
dati del cliente
Qualcuno potrebbe allegare un file di esempio, che è di più facile
interpretazione
Ciao e grazieeeeee


title: Ricerca

author: Claudio

text:
"Santilli Marco" <
marco.s...@libero.it
> ha scritto nel messaggio
news:anvg4g$k8o$1...@fe2.cs.interbusiness.it...
> Io ho 6 campi nella mia maschera.
...
> Qualcuno potrebbe allegare un file di esempio, che è di più facile
> interpretazione
1) Hai già postato lo stesso messaggio ieri
2) Biso ti ha risposto in 27 minuti
3) Non è possibile allegare file
4) Non leggi le risposte
5) Non rispondi alle risposte :-)
Ciao. Claudio.


title: Ricerca

author: Antonio Biso

text:
"Claudio" <cld@NOSPAM&COsupereva.it> ha scritto nel messaggio
news:zwIo9.22281$Fz.6...@news1.tin.it...

Io potrei aggiungere che mi ha anche contattato per email e gli ho detto che
le risposte vanno date sul NG, ma non lo faccio...
Antonio


title: Ricerca

author: Fabrizio

text:
On Wed, 09 Oct 2002 07:09:00 GMT, "Antonio Biso" <
ch...@etruria.net
>
wrote:

Meno male che posso contare sulla tua discrezione , così nessuno saprà
di Amanda e te , .... o porca vacca ma questa non è la tua e-mail ....
come si fa a cancellare i post ...... vado a sotterarmi. :-)))
Ciao. Fabrizio


title: Ricerca

text:
Na madonna quanto fe i grossi
"Fabrizio" <fabrizio...@SPAMtiscalinet.it> ha scritto nel messaggio
news:7lo7quosllorn4phs...@4ax.com...



title: blocco sottomaschera con mousewheel

author: Davide

text:
Salve a tutto l'NG..!
Come da oggetto ho il seguente problema:
Ho una maschera principale che utilizza la funzione mousewheel presa dal
sito di Alessandro Baraldi e funziona correttamente, non mi funziona invece
nella sottomaschera dove se tento di utilizzarla dopo avervi copiato
esattamente lo stesso codice della maschera principale non riesco piu' a
selezionare i controlli della sottomaschera con il mouse ma posso spostarmi
solo con la tastiera.
Ho sbagliato a copiare lo stesso codice della maschera principale nella
sottomaschera?
uso mousewheel per access Xp e faccio riferimento alla MouseWheel.dll
esterna al db
Grazie in anticipo
Davide


title: blocco sottomaschera con mousewheel

author: Alessandro Baraldi

text:
"Davide" <
davide.di...@libero.it
> wrote in message
news:GAjRe.2526$
4g5.1...@news4.tin.it

Ciao Davide.
Il problema è relativo al SubClassing, nel quale viene passato
l'HWND della Form da controllare.
Quindi teoricamente per riuscire a gestire la SubForm dovresti
passare al SubClassing non l'Hwnd della Form ma della SubForm.
Ora non sono certo che possa funzionare per la metodologia
gestionale dell'Handle fatta da Access.
In alternativa ti consiglio di usare la DLL di Lebans che
consente di disattivare ognin singolo controllo(SubForm incluse).
Se non ricordo male la DLL in questione è una DLL di sistema, pertanto
non va registrata, ma solo istanziata, e deve essere posizionata
nella stessa PATH dell'applicativo.
Ciao
@Alex
--
Posted via Mailgate.ORG Server -
http://www.Mailgate.ORG


title: blocco sottomaschera con mousewheel

text:
"Alessandro Baraldi" <
ik2...@libero.it
> ha scritto nel messaggio
news:cac4f17627320a83d4...@mygate.mailgate.org...

Ciao Alessandro,
ok grazie mille vedo se riesco a risolvere..
Davide


title: Maschera di input

author: Long Wolf

text:
Supponiamo che abbia un campo testo in una tabella lungo 10 caratteri.
Realizzo un maschera dove associo questo campo ad una casella di testo e
voglio impostare la seguente maschera di input:
consentire di inserire tutte le lettere e numeri in modo facoltativo e
trasformare le lettere in maiuscolo. Io imposto la maschera nel seguente
modo: >aaaaaaaaaa;;_
quando vado ad introdurre i dati nella casella ottengo due codici di errori
a seconda che:
1) immetto 10 caratteri alfanumerici (quindi riempio tutta la casella):
impossibile aggiungere la quantità di dati desiderata. Inserire o incollare
meno dati
2) immetto meno di 10 caratteri: il volore immesso non è valido per la
maschera di input '?AAAAAAAAAAA;;_' specificata per il campo.
Grazie
Saluti


title: Posizionare maschera su nuovo record

author: gnews

text:
Ho una maschera per l'inserimento dati, di quelle che si fanno con
l'autocomposizione di access.
Quando vado ad inserire i dati vedo tutti i dati del primo record della
tabella. Vorrei avere direttamente tutti i campi bianchi da riempire. Ho
trovato nell'help FindNext e FindRecord ma non so come indicare l'ultimo
record a FindRecord.
Come posso fare per posizionare la maschera direttamente sul nuovo record
con i campi bianchi da riempire?
Ciao


title: Posizionare maschera su nuovo record

text:
"gnews" <
gnewsR...@katamail.com
> ha scritto nel messaggio
news:SJFNf.12581$ou2....@tornado.fastwebnet.it...

Apri la maschera con il Metodo OpenForm (vedi help) impostando ad acFormAdd
il suo argomento modalitàdati (vedi help).
> Ciao
--
Roberto
-----------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
-----------------------------------------------


title: Posizionare maschera su nuovo record

text:
> Apri la maschera con il Metodo OpenForm (vedi help) impostando ad
> acFormAdd
> il suo argomento modalitàdati (vedi help).
Si, ho dato un'occhiata alla OpenForm sull'help però non ho capito come
utilizzarla, se all'interno di un evento o in altro modo.
Ciao


title: Posizionare maschera su nuovo record

author: Gabriele Bertolucci

text:

Come apri la form in questione?
Se la apri facendo doppio clic sulla finestra del database, allora devi impostare
la proprietà "Immissione dati" a "Sì".
Se la apri da codice, allora la soluzione di Roberto è la migliore e devi
modificare il codice che apre la form aggiungendo il parametro che ti è stato
suggerito.
     DoCmd.OpenForm "<quimettiilnomedellaform>", , , , acFormAdd
Ora è più chiaro?
p.s.: comunque per programmare c'è bisogno anche di un minimo di intraprendenza.
Senza rancore.
--
PBsoft di Gabriele Bertolucci
www.pbsoft.it


title: Posizionare maschera su nuovo record

author: The Crusader

text:
"gnews" <
gnewsR...@katamail.com
> wrote in message
news:SJFNf.12581$ou2....@tornado.fastwebnet.it...

In OnOpen della scheda:
DoCmd.RunCommand acCmdRecordsGoToNew
C


title: Posizionare maschera su nuovo record

text:
"gnews" <
gnewsR...@katamail.com
> ha scritto nel messaggio
news:jhHNf.12766$ou2....@tornado.fastwebnet.it...

C'è chi ha risposto per me.



title: Posizionare maschera su nuovo record

text:
> Se la apri facendo doppio clic sulla finestra del database, allora devi
> impostare la proprietà "Immissione dati" a "Sì".
Ecco, questo non lo sapevo ed era la cosa che ha risolto il mio problema!
> Se la apri da codice, allora la soluzione di Roberto è la migliore e devi
> modificare il codice che apre la form aggiungendo il parametro che ti è
> stato suggerito.
>
>     DoCmd.OpenForm "<quimettiilnomedellaform>", , , , acFormAdd
>
> Ora è più chiaro?
Più chiaro di così non si può!
A questa soluzione ci sono arrivato con un po' di ritardo dopo il mio post.
> p.s.: comunque per programmare c'è bisogno anche di un minimo di
> intraprendenza. Senza rancore.
Ce la sto mettendo tutta !
Grazie ancora degli aiuti.
Ciao!


title: Visualizzare immagini blob da mysql

author: Davide D'Amico

text:
Nno se e' il posto giusto per questa domanda, se sono OT chiedo scusa.
Mi collego in access attraverso odbc ad un database mysql su una macchina
linux.
Questo database ha un campo di tipo blob che contiene immagini pdf.
Quando collego la tabella in access, il campo lo vedo come Oggetto OLE e se
ci faccio doppio click invece di farmi vedere il pfd contenuto ottengo un
errore.
E' possibile fare quanto detto o ci devo rinunciare?
Grazie.


title: Immagini.JPG da allegare

text:
Ho un DB in Access 2000 xp che ho creato per l'archiviazione di una collana
di fumetti di cui sono un collezionista distratto (lo compro quando mi
ricordo).
Ho riprodotto le immagini delle copertine e le ho sistemate in una cartella
denominata "Cover".
Le immagini sono circa 400 e le ho nominate progressivamente partendo da
0001.jpg, 0002.jpg ecc. ecc.
Il mio problema è:
1) Se esiste un metodo per poterle allegare ad una tabella, ma in automatico
senza doverle allegare una alla volta;
2) quale impostazione del campo (tipo dati) è più corretto per lasciare il
DB il più "snello" possibile ma tale da poterle visualizzare in una maschera
a tale scopo preposta.
Grazie a chi ha avuto la pazienza di leggere ed in particolar modo a chi
vorrà aiutarmi.


title: Immagini.JPG da allegare

text:
"
tin.it
" <
gtri...@tin.it
> ha scritto nel messaggio
news:aiJi9.139914$pX1.4...@news2.tin.it...
> Ho riprodotto le immagini delle copertine e le ho sistemate in una cartella
> denominata "Cover".
> Le immagini sono circa 400 e le ho nominate progressivamente partendo da
> 0001.jpg, 0002.jpg ecc. ecc.
> Il mio problema č:
> 1) Se esiste un metodo per poterle allegare ad una tabella, ma in automatico
> senza doverle allegare una alla volta;
> 2) quale impostazione del campo (tipo dati) č piů corretto per lasciare il
> DB il piů "snello" possibile ma tale da poterle visualizzare in una maschera
> a tale scopo preposta.
In questi ultimi giorni ho avuto modo di fare un po' di esperienza su questo
argomento, dal momento che ho dovuto realizzare una cosa molto simile. Ho
chiesto aiuto su icaa e con un sofferto thread, con pesci che volavano
dappertutto (capirai se leggi il thread), alla fine una persona gentile e
competente (Carlo Costarella) mi ha dato un'imbeccata (dai un'occhiata al
thread "Aggiornare un campo OLE").
Questo sistema perň non calza per il tuo secondo punto. Infatti ho scoperto con
disappunto che Access incorpora le immagini sempre come bmp, anche se
originariamente erano jpg o gif. Questo comporterebbe nel tuo caso un database
di dimensioni enormi. In questo caso secondo me il metodo migliore č crearti
una tabella con un campo contenente il nome dell'immagine (p.e. 0001, 0002,
etc), crearti una maschera con questo campo, aggiungere alla maschera un
controllo immagine senza farlo puntare a nulla, e associare all'evento "Su
corrente" ("Current()") un semplice codice tipo questo:
Private Sub Form_Current()
strPath = CurrentDb().Name
CurrentDbPath = Left$(strPath, Len(strPath) - Len(Dir$(strPath)))
Immagine2.Picture = CurrentDbPath + "Cover\" + Codice + ".jpg"
End Sub
In questo modo, ogni volta che cambi record, il controllo Immagine2 viene
riempito con l'immagine relativa.
Un neo č che durante l'aggiornamento, per un brevissimo periodo si verifica uno
"sfarfallio" dello schermo, perchč viene visualizzato un messaggio relativo al
caricamento dell'immagine. Se qualcuno sapesse dirmi come evitarlo, mi farebbe
cosa gradita... :-) Probabilmente c'č qualche property da settare per farlo
lavorare "silente".
Io invece avevo un'esigenza piů complessa, in cui dovevo anche filtrare i
record provenienti dalla tabella, e creare un report di etichette contenenti le
immagini di cui sopra. Inoltre le etichette dovevano contenere un numero
variabile di immagini (record), ma sempre della stessa dimensione... Se fossi
interessato posso darti ulteriori dettagli.
Ciao. Claudio.


title: Immagini.JPG da allegare

text:
"Claudio" <cld@NOSPAM&COsupereva.it> ha scritto nel messaggio
news:E_Ui9.121688$ub2.2...@news1.tin.it...
> "
tin.it
" <
gtri...@tin.it
> ha scritto nel messaggio
> news:aiJi9.139914$pX1.4...@news2.tin.it...
> > Ho riprodotto le immagini delle copertine e le ho sistemate in una
cartella
> > denominata "Cover".
> > Le immagini sono circa 400 e le ho nominate progressivamente partendo da
> > 0001.jpg, 0002.jpg ecc. ecc.
> > Il mio problema è:
> > 1) Se esiste un metodo per poterle allegare ad una tabella, ma in
automatico
> > senza doverle allegare una alla volta;
> > 2) quale impostazione del campo (tipo dati) è più corretto per lasciare
il
> > DB il più "snello" possibile ma tale da poterle visualizzare in una
maschera
> > a tale scopo preposta.
>
> In questi ultimi giorni ho avuto modo di fare un po' di esperienza su
questo
> argomento, dal momento che ho dovuto realizzare una cosa molto simile. Ho
> chiesto aiuto su icaa e con un sofferto thread, con pesci che volavano
> dappertutto (capirai se leggi il thread), alla fine una persona gentile e
> competente (Carlo Costarella) mi ha dato un'imbeccata (dai un'occhiata al
> thread "Aggiornare un campo OLE").
> Questo sistema però non calza per il tuo secondo punto. Infatti ho
scoperto con
> disappunto che Access incorpora le immagini sempre come bmp, anche se
> originariamente erano jpg o gif. Questo comporterebbe nel tuo caso un
database
> di dimensioni enormi. In questo caso secondo me il metodo migliore è
crearti
> una tabella con un campo contenente il nome dell'immagine (p.e. 0001,
0002,
> etc), crearti una maschera con questo campo, aggiungere alla maschera un
> controllo immagine senza farlo puntare a nulla, e associare all'evento "Su
> corrente" ("Current()") un semplice codice tipo questo:
>
> Private Sub Form_Current()
> strPath = CurrentDb().Name
> CurrentDbPath = Left$(strPath, Len(strPath) - Len(Dir$(strPath)))
> Immagine2.Picture = CurrentDbPath + "Cover\" + Codice + ".jpg"
> End Sub
>
> In questo modo, ogni volta che cambi record, il controllo Immagine2 viene
> riempito con l'immagine relativa.
> Un neo è che durante l'aggiornamento, per un brevissimo periodo si
verifica uno
> "sfarfallio" dello schermo, perchè viene visualizzato un messaggio
relativo al
> caricamento dell'immagine. Se qualcuno sapesse dirmi come evitarlo, mi
farebbe
> cosa gradita... :-) Probabilmente c'è qualche property da settare per
farlo
> lavorare "silente".
>
> Io invece avevo un'esigenza più complessa, in cui dovevo anche filtrare i
> record provenienti dalla tabella, e creare un report di etichette
contenenti le
> immagini di cui sopra. Inoltre le etichette dovevano contenere un numero
> variabile di immagini (record), ma sempre della stessa dimensione... Se
fossi
> interessato posso darti ulteriori dettagli.
> Ciao. Claudio.
Ti ringrazio, Claudio, ed approfitto della tua disponibilità.
Premetto che mi sono avvicinato da poco al mondo Access e per diletto.
La mia, analizzando veramente i fatti, è una sfida tra me e la macchina,
così come avviene d'altronde nella vita reale.
Scusa ho divagato.
Ora ci provo
Ciao, Gabriele


title: Immagini.JPG da allegare

text:
"Claudio" <cld@NOSPAM&COsupereva.it> ha scritto nel messaggio
news:E_Ui9.121688$ub2.2...@news1.tin.it...
> "
tin.it
" <
gtri...@tin.it
> ha scritto nel messaggio
> news:aiJi9.139914$pX1.4...@news2.tin.it...
> > Ho riprodotto le immagini delle copertine e le ho sistemate in una
cartella
> > denominata "Cover".
> > Le immagini sono circa 400 e le ho nominate progressivamente partendo da
> > 0001.jpg, 0002.jpg ecc. ecc.
> > Il mio problema è:
> > 1) Se esiste un metodo per poterle allegare ad una tabella, ma in
automatico
> > senza doverle allegare una alla volta;
> > 2) quale impostazione del campo (tipo dati) è più corretto per lasciare
il
> > DB il più "snello" possibile ma tale da poterle visualizzare in una
maschera
> > a tale scopo preposta.
>
> In questi ultimi giorni ho avuto modo di fare un po' di esperienza su
questo
> argomento, dal momento che ho dovuto realizzare una cosa molto simile. Ho
> chiesto aiuto su icaa e con un sofferto thread, con pesci che volavano
> dappertutto (capirai se leggi il thread), alla fine una persona gentile e
> competente (Carlo Costarella) mi ha dato un'imbeccata (dai un'occhiata al
> thread "Aggiornare un campo OLE").
> Questo sistema però non calza per il tuo secondo punto. Infatti ho
scoperto con
> disappunto che Access incorpora le immagini sempre come bmp, anche se
> originariamente erano jpg o gif. Questo comporterebbe nel tuo caso un
database
> di dimensioni enormi. In questo caso secondo me il metodo migliore è
crearti
> una tabella con un campo contenente il nome dell'immagine (p.e. 0001,
0002,
> etc), crearti una maschera con questo campo, aggiungere alla maschera un
> controllo immagine senza farlo puntare a nulla, e associare all'evento "Su
> corrente" ("Current()") un semplice codice tipo questo:
>
> Private Sub Form_Current()
> strPath = CurrentDb().Name
> CurrentDbPath = Left$(strPath, Len(strPath) - Len(Dir$(strPath)))
> Immagine2.Picture = CurrentDbPath + "Cover\" + Codice + ".jpg"
> End Sub
>
> In questo modo, ogni volta che cambi record, il controllo Immagine2 viene
> riempito con l'immagine relativa.
> Un neo è che durante l'aggiornamento, per un brevissimo periodo si
verifica uno
> "sfarfallio" dello schermo, perchè viene visualizzato un messaggio
relativo al
> caricamento dell'immagine. Se qualcuno sapesse dirmi come evitarlo, mi
farebbe
> cosa gradita... :-) Probabilmente c'è qualche property da settare per
farlo
> lavorare "silente".
>
> Io invece avevo un'esigenza più complessa, in cui dovevo anche filtrare i
> record provenienti dalla tabella, e creare un report di etichette
contenenti le
> immagini di cui sopra. Inoltre le etichette dovevano contenere un numero
> variabile di immagini (record), ma sempre della stessa dimensione... Se
fossi
> interessato posso darti ulteriori dettagli.
> Ciao. Claudio.
>
Bene, analizziamo con ordine (credo che è proprio quello che cercavo)
> di dimensioni enormi. In questo caso secondo me il metodo migliore è
crearti
> una tabella con un campo contenente il nome dell'immagine (p.e. 0001,
0002,
> etc), crearti una maschera con questo campo, aggiungere alla maschera un
> controllo immagine senza farlo puntare a nulla, e associare all'evento "Su
> corrente" ("Current()") un semplice codice tipo questo:
la tabella si chiama                         "Collana"
il nome campo che ho creato è       "NCover"
la maschera si chiama                     "MascheraCollana"
controllo immagine                          "Immagini215"
nome campo sulla maschera            "NCover"
l'indirizzo delle immagini                    "D\Biblioteca\Collana\Cover\"
Scusa ma non sono riuscito ad inserire le voci al posto giusto
Potresti aiutarmi tu?
e se non chiedo troppo analizzare i vari codici così da comprenderne il
significato
Io li ho sostituiti in questa maniera -MA NON RIDERE!!!!
Private Sub Form_Current()
strPath = CurrentDb().Name
CurrentDbPath = Left$(strPath, Len(strPath) - Len(Dir$(strPath)))
Immagini215.Picture = CurrentDbPath + "D\Biblioteca\Collana\Cover\" +
NCover+ ".jpg"
End Sub
Ad onor del vero e per avere completo il quadro ti informo che alla maschera
e associata all'evento "su apertura"
ha questa routine evento che mi permette di andare subito all'ultimo Record
che è vuoto (spiegazione superflua per te)
Private Sub Form_Open(Cancel As Integer)
    On Error GoTo Err_Aggiungi_Record_Click
    DoCmd.GoToRecord , , acNewRec
    CasellaCombinata110 = ""
    CasellaCombinata110.SetFocus
Exit_Aggiungi_Record_Click:
    Exit Sub
Err_Aggiungi_Record_Click:
    MsgBox Err.Description
    Resume Exit_Aggiungi_Record_Click
End Sub
Ciao e grazie, Gabriele


title: Immagini.JPG da allegare

text:
"
tin.it
" <
gtri...@tin.it
> ha scritto nel messaggio
news:0BXi9.122125$ub2.2...@news1.tin.it...
>
> la tabella si chiama                         "Collana"
> il nome campo che ho creato è       "NCover"
> la maschera si chiama                     "MascheraCollana"
> controllo immagine                          "Immagini215"
> nome campo sulla maschera            "NCover"
> l'indirizzo delle immagini                    "D\Biblioteca\Collana\Cover\"
Per le prossime volte, dovresti quotare il testo in maniera più sintetica...
riporta cioè nel messaggio di risposta solo le parti interessanti, altrimenti
si diminuisce la vita media della rotellina del mouse... e potresti scatenare
le ire dei più irritabili.
> Private Sub Form_Current()
> strPath = CurrentDb().Name
> CurrentDbPath = Left$(strPath, Len(strPath) - Len(Dir$(strPath)))
> Immagini215.Picture = CurrentDbPath + "D\Biblioteca\Collana\Cover\" +
> NCover+ ".jpg"
> End Sub
Beh, tutto il faticoso lavoro che ho fatto con l'estrazione del path corrente
viene buttato via se già conosci il path completo ai file...
Però in questo modo se sposti il database in un'altra directory ovviamente il
tutto non funziona più. Inoltre immagino ci sia un errore nel path (forse
intendevi scrivere "D:\Biblioteca\Collana\Cover\").
Insomma, il tuo codice potrebbe essere corretto con:
Private Sub Form_Current()
Immagini215.Picture = "D:\Biblioteca\Collana\Cover\" + NCover + ".jpg"
End Sub
o meglio con:
Private Sub Form_Current()
strPath = CurrentDb().Name
CurrentDbPath = Left$(strPath, Len(strPath) - Len(Dir$(strPath)))
Immagini215.Picture = CurrentDbPath + "Cover\" + NCover + ".jpg"
End Sub
che funziona a patto di creare una directory Cover nella directory dove risiede
il database, nella quale inserire i jpg.
Infine bisognerebbe creare una piccola routine di gestione dell'errore nel caso
in cui non esista il file.
Ciao. Claudio.


title: Immagini.JPG da allegare

text:
"
tin.it
" <
gtri...@tin.it
> ha scritto nel messaggio
news:aiJi9.139914$pX1.4...@news2.tin.it...

Se vuoi meglio approfondire i concetti di Claudio, anche con degli esempi,
vai sul Sito Comune (link qui sotto) e nella Sezione General dai uno sgardo
a queste tre FAQ:
1) Come implementare correttamente un archivio di immagini di Stefano
Bettini
2) Implementare un archivio di immagini di Silvio Savoldi
3) Archiviazione immagini di Franco Cappellaro
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


title: Immagini.JPG da allegare

text:
"Claudio" <cld@NOSPAM&COsupereva.it> ha scritto nel messaggio
news:E_Ui9.121688$ub2.2...@news1.tin.it...
> "
tin.it
" <
gtri...@tin.it
> ha scritto nel messaggio
> news:aiJi9.139914$pX1.4...@news2.tin.it...
[CUT]
> Un neo è che durante l'aggiornamento, per un brevissimo periodo si
verifica uno
> "sfarfallio" dello schermo, perchè viene visualizzato un messaggio
relativo al
> caricamento dell'immagine. Se qualcuno sapesse dirmi come evitarlo, mi
farebbe
> cosa gradita... :-) Probabilmente c'è qualche property da settare per
farlo
> lavorare "silente".
Se stai parlando del fatto che, quando vanno in visualizzazione le immagini
.jpg si vede al centro dello schermo una barra di progressione, per evitare
che questo avvenga si deve agire sul Registro di Configurazione: nel caso d'
immagine Jpeg, ad esempio, è sufficiente settare a "No" la seguente entry:
HKEY_LOCAL_MACHINE\Software\Microsoft\ Shared Tools\Graphics
Filters\Import\JPEG\Options
[CUT]
> Ciao. Claudio.



title: Immagini.JPG da allegare

text:
"Roberto da casa" <
r.ma...@libero.it
> ha scritto nel messaggio
news:v7Yi9.24103$Av4.4...@twister2.libero.it...
>
> Se stai parlando del fatto che, quando vanno in visualizzazione le immagini
> .jpg si vede al centro dello schermo una barra di progressione, per evitare
> che questo avvenga si deve agire sul Registro di Configurazione: nel caso d'
> immagine Jpeg, ad esempio, č sufficiente settare a "No" la seguente entry:
>
> HKEY_LOCAL_MACHINE\Software\Microsoft\ Shared Tools\Graphics
> Filters\Import\JPEG\Options
Direi proprio di sě... funziona alla grande. L'unica cosa da aggiungere č che
l'entry si chiama ShowProgressDialog, nella chiave da te indicata.
Grazie. Claudio.


title: Immagini.JPG da allegare

text:
"Roberto da casa" <
r.ma...@libero.it
> ha scritto nel messaggio
news:R0Yi9.68212$Hc7.4...@twister1.libero.it...

Grazie, Gabriele


title: Immagini.JPG da allegare

text:
> > la tabella si chiama                         "Collana"
> > il nome campo che ho creato è       "Copertina"
> > la maschera si chiama                     "MascheraCollana"
> > controllo immagine                          "Immagine117"
        immagine fittizia                               "Immagine119"
> > nome campo sulla maschera            "Copertina"
> > l'indirizzo delle immagini                    "Cover\"
> Infine bisognerebbe creare una piccola routine di gestione dell'errore nel
caso
> in cui non esista il file.
> Ciao. Claudio.
>
Ti assicuro che il tuo tempo non è stato impegnato in vano, solo non avevo
capito che il codice riportava all'indirizzo voluto.
Avevo fatto alcuni errori dando per scontato che Immagini??? fosse corretto
ed invece era Immagine???
Per quanto riguarda la condizione e precisamente se il valore del campo =
nulla, dopo vari tentativi ho trovato la soluzione con
If IsNull(copertina) Then
Private Sub Form_Current()
   strPath = CurrentDb().Name
    CurrentDbPath = Left$(strPath, Len(strPath) - Len(Dir$(strPath)))
    If IsNull(copertina) Then
         Immagine117.Picture = Immagine119.Picture
    Else
    Immagine117.Picture = CurrentDbPath + "Cover\" + copertina + ".jpg"
End If
End Sub
ma c'è un'altra condizione per la quale mi restituisce un errore e cioè se
nella directory manca fisicamente il file (caso in cui non dovessi avere
quel dato fumetto).
Non ci sono riuscito
Qual è il codice giusto.
Grazie ancora, Gabriele


title: Immagini.JPG da allegare

text:
"
tin.it
" <
gtri...@tin.it
> ha scritto nel messaggio
news:jg0j9.144035$pX1.5...@news2.tin.it...
>
> ma c'è un'altra condizione per la quale mi restituisce un errore e cioè se
> nella directory manca fisicamente il file (caso in cui non dovessi avere
> quel dato fumetto).
> Non ci sono riuscito
> Qual è il codice giusto.
Potresti aggiungere un "On Error GoTo ErrorHandler" all'inizio della routine, e
mettere in fondo una cosa di questo tipo:
ErrorHandler:
    Select Case Err.Number
        Case 2220
            If Dir$(CurrentDbPath + "Cover\Missing.jpg") = "" Then
                Immagine117.Picture = ""
            Else
                Immagine117.Picture = CurrentDbPath + "Cover\Missing.jpg"
                End If
            Resume Next
        Case Else
            Resume
    End Select
In questo modo avresti la possibilità di creare un file chiamato Missing.jpg
che verrebbe visualizzato tutte le volte che manca il file relativo. Per essere
proprio sicuro ho anche gestito la mancanza del file "Missing.jpg" (per evitare
il loop)! Più di così...
Ciao. Claudio.