Newsgroup: it.comp.appl.access
Titolo: spostarsi alla prima occorrenza

ciao,
sto continuando il mio progettino.
Ho preso il valore di una TextBox e l'ho messo in una variabile.
Poi ho eseguito la seguente
CodProd= DLookup("[IDCodiceProdotto]", "Tabella2", BarcodeIns)
e ottengo la orima occorrenza (ed unica) del codice prodotto associato alla 
stringa contenuta nella variabile BarcodeIns.
A questo punto dovrei cercare nella Tabella1 nel campo specifico il valore 
CodProd, spostarmici, aggiornare il valore e salvare il dato.
Come dovrei procedere per i primi due punti? Ho gi� fatto scritto la 
procedura per incrementare/decrementare il valore ma prima mi devo spostare 
sul record corretto.
In alternativa potrei cercare la prima occorrenza del valore in CodProd e 
spostarmi al numero di record corrispondente, ma come posso fare ad ottenere 
il numero di record in cui sono?
Grazie 1000 a chi mi risponder�.
cio 

 cio
Io uso sempre una query chiamata qryStandard, tu puoi darci il nome
che vuoi, è sufficiente che esista nel tuo db.
ho presupposto che in Tabella2 il record lo identifichi con
IDCodiceProdotto, il campo da aggiornare con CampoDaAggiornare:
CurrentDb.QueryDefs("qryStandard").SQL = "UPDATE Tabella2" _
    & " SET Tabella2.CampoDaAggiornare= '" & Valore & "'" _
    & " WHERE (((Tabella2.IDCodiceProdotto)='" & CodProd & "'))"
CurrentDb.QueryDefs("qryStandard").Execute
HTH, mpio.

CurrentDb.QueryDefs("qryStandard").Execute
ciao
tiu ringrazio non sono ancora riuscito a provare la tua query perch� ho un 
problema prima.
Ho trovato il CodProd da inserire per aggiornare, ma mi manca il Valore di 
partenza per calcolare l'incremento/decremento.
La prima parte mi funziona bene
CodProd = DLookup("[IDCodiceProdotto]", "Tabella2", BarcodeIns)
A questo punto devo estrarre il valore corrispondente al CodProd da inserire 
nella variabile Valore (Integer)
Valore = DLookup("[Carico]", "Tabella1", CodProd)
Purtroppo per� mi dice che il si � verificato un Errore run-time 3075 Errore 
di di sintassi (operatore mancante).
Onestamente non capisco dove sia l'errore formale visto che in debug la 
variabile CodProd � correttamente valorizzata...
Queste sono l edichiarazioni di variabili all'inizio...
Dim BarcodeIns As String
Dim CodProd As String
Dim Valore As Integer
Dove sta il problema? Il campo Carico in Tabella1 NON � chiave primaria, non 
so se � necessario per usare correttamente DLookup...
cio 

 ciao











Non basta mettere il valore come condizione della dlookup, devi
specificare tutta la condizione.
Es.:  DLookup("[Carico]", "Tabella1", "CodProd=" & CodProd)
Per la query di aggiornamento basta che usi questo sistema:
UPDATE ... SET Campo=Campo-1;
Ciao.
-Marco-
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 -Marco-
ciao
ho inserito questa
Valore = DLookup("[Carico]", "Tabella1", "CodProd=" & CodProd) ma mi da lo 
stesso errore di prima
Errore di Run-Time 3075
Errore di sintassi (operatore mancante) nell'espressione della query 
'CodProd=AAAAAA'.
Se gli do debug mi valorizza correttamente il valore della variabile 
CodProd=AAAAAA, ma nella variabile Valore mi mette 0 mentre il valore 
corretto � un altro.
non capisco cosa si aspetta e perch�, invece, con la funzione appena sopra 
funziona semplicemente mettendo la stessa variabile BarcodeIns (String) come 
condizione...:
BarcodeIns = CaricoScarico.Text
CodProd = DLookup("[IDCodiceProdotto]", "ConsumabiliCarico", BarcodeIns)
Non capisco la funzione cosa vuole che gli passi... di che operatore parla?
Grazie 1000 a chi mi risponder�
cio 


ciao
questa � la riga corretta e che mi da il valore giusto nel campo carico
Valore = DLookup("[Carico]", "Tabella2", "[IDCodiceProdotto] = '" & CodProd 
& "'")
Non ho capito perch� ma era un problema di apici...
Ora posso valorizzare tutto e provare la query!
Grazie 1000
cio 

 cio
Quando lavori con valori di tipo testo bisogna racchiuderli tra apici,
semplici o doppi.
Quando lavori con valori numerici non serve, anzi non devi.
Quindi i criteri saranno in questo formato:
  numerico:  ID=20
  testo:     ID="abc"
Fai attenzione con l'uso degli apici singoli, se uno dei codici dovesse
contenere un apice il criterio cos� come l'hai scritto ti darebbe di nuovo
errore.


 ha scritto nel messaggio 
news:ee05ab5f-00ae-4692...@s31g2000yqs.googlegroups.com...


ciao
la Query funziona perfettamente!! Grazie 1000!
cio 


grazie non av� mai ' apici singoli nel campo, ma perch� allora se scrivo
DLookup("[Carico]", "Tabella1", "CodProd=" & "CodProd")
Mi dice che "l'oggetto non contiene l'oggetto di automazione"?
Eppure in CodProd ho sempre del testo e l'ho messo tra doppie virgolette...
cio

 cio
Perch� CodProd � il nome del campo, che contiene un valore, per esempio
"AC34B", mentre "CodProd" � una stringa fissa, come se andassi a cercare
un prodotto il cui codice � "CodProd".
I doppi apici non si aggiungono cos�, hai due possibilit�:
"CodProd=""" & CodProd & """"
"CodProd=" & Chr$(34) & CodProd & Chr$(34) 
Nel dubbio metti un punto di interruzione, quando il codice arriva l� vai
nella finestra debug e fai qualche prova, con la sintassi che hai usato
sopra e con queste due, vedrai subito la differenza nei risultati:
?"CodProd=""" & CodProd & """"
?"CodProd=" & "CodProd"
