Oppure

Loading
14/02/10 17:55
flappo
In una tabella bevo trovare un record
i codici che ho scritto sono i seguenti:
num = InputBox$("DAMMI IL NUMERO DI PROGRAMMA DA MODIIFCARE", , , 4550, 6500)

patmdb = App.Path & "\Impostazioni.mdb"
DbDati.DatabaseName = patmdb
DbDati.Connect = ""
DbDati.RecordsetType = 1

ordine = "select * from Programmazione order by Nr_Prog"
DbDati.RecordSource = ordine
DbDati.Refresh
kriterio = "Nr_Prog = '" & num & "' "
DbDati.Recordset.FindFirst kriterio
Dove:
- Impostazioni = nome file
- Programmazione= nome tabella
- Nr_Prog= nome del campo della tabella Programmazione
Tramite il codice di KRITERIO dovrei trovare il record, invece mi dice Errore "tipi di dati non corrispondente al'espressione criterio"

Dov'è sbagliato il codice? Chi mi può aitare?:(

Grazie a tutti




aaa
14/02/10 18:13
L'errore dipende dal fatto che il campo è di tipo numerico e tu invece fornisci il numero tra singoli apici ' ... '

Inoltre, invece che usare la FindFirst, perchè non usi solamente una query adeguata come

"SELECT * FROM Programmazione WHERE Nr_Prog = " & num

eliminando la ORDER che non serve dato che stai selezionando dei record con lo stesso valore per il campo Nr_Prog
Ultima modifica effettuata da 14/02/10 20:56
14/02/10 20:38
flappo
Tutto ok grazie mille
aaa
27/02/10 8:18
flappo
Altro problema, partendo dalle istruzioni di programma sopra descritte .
La dbgrid è in costante aggirnamento tramite un timer, perchè i dati vengono confrontati con l'orologio del sistema per fare l'accens/spegnimento.
Ho crato un'altra tabella dove indico in base al tipo di comando ( acc./spegn. luce, acc/speg. caldaia, ecc) un'immagine che mi indichi l'accensione o le spegnimento dell'oggetto. Il problema è questo.
Devo interrompere il ciclo del timer, caricare il RecordSorese dei comandi e trovare l'immagine corrispondente. Questo tipo di operazione comporta, la riconfugurazione della dbgrid secondo i nuovi parametri e una FLUIDITA' del ciclo del programma che non mi piace.
Chiedo è possibile cercare i record dei comandi senza caricare il RecordSorse = Comandi ( e quindi modificare la dbgrid) e fare la ricerca, lasciando la dbgrid impostata in RecordSorse su Programmazione?
Se si come posso fare
Grazie atutti
aaa
27/02/10 8:34
Non ho capito molto del problema ...