Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Ricerca record
Forum - Visual Basic 6 - Ricerca record

Avatar
flappo (Normal User)
Newbie


Messaggi: 16
Iscritto: 06/10/2007

Segnala al moderatore
Postato alle 18:55
Domenica, 14/02/2010
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





PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 19:13
Domenica, 14/02/2010
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 nessuno il 14/02/2010 alle 21:56


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
flappo (Normal User)
Newbie


Messaggi: 16
Iscritto: 06/10/2007

Segnala al moderatore
Postato alle 21:38
Domenica, 14/02/2010
Tutto ok grazie mille

PM Quote
Avatar
flappo (Normal User)
Newbie


Messaggi: 16
Iscritto: 06/10/2007

Segnala al moderatore
Postato alle 9:18
Sabato, 27/02/2010
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

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 9:34
Sabato, 27/02/2010
Non ho capito molto del problema ...


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote