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 - problemi con una query
Forum - Visual Basic 6 - problemi con una query

Avatar
foralobo (Normal User)
Pro


Messaggi: 146
Iscritto: 30/11/2009

Segnala al moderatore
Postato alle 11:49
Martedì, 22/12/2009
salve a tutti...ho un problema con una query.
Il problema è molto semplice in quanto devo richiamare una query di questo tipo:

Codice sorgente - presumibilmente Visual Basic 6

  1. SELECT tbl_Clienti.* FROM tbl_Clienti WHERE NomeContatto Like '*ma*';



in access funziona ovviamente ma non rieco a farla funzionare in vb6 nel senso che mi da errori sugli operatori e su i tipi di dato.

al posto di ma io dovrei mettere il valore di una textbox.

sicuramente mi sfugge qualcosa di banale.

scrivendola invece in questo modo:
Codice sorgente - presumibilmente Visual Basic 6

  1. Query = "SELECT * From tbl_Clienti WHERE NomeContatto like " & "'*Mario*'" & ";"


(ovviamente non ha senso cosi ma è solo per specificare il modo in cui la scrivo)

non mi da errori ma non da neanche record...

dove sbeglio??
mi fornite qualche specifica su come utilizzare in vb6 le stringhe che chiamano le query?
cioè, come si usano gli operatori etc all'interno delle stringhe?

grazie

PM Quote
Avatar
foralobo (Normal User)
Pro


Messaggi: 146
Iscritto: 30/11/2009

Segnala al moderatore
Postato alle 12:16
Martedì, 22/12/2009
Testo quotato

Postato originariamente da foralobo:

salve a tutti...ho un problema con una query.
Il problema è molto semplice in quanto devo richiamare una query di questo tipo:

Codice sorgente - presumibilmente Visual Basic 6

  1. SELECT tbl_Clienti.* FROM tbl_Clienti WHERE NomeContatto Like '*ma*';



in access funziona ovviamente ma non rieco a farla funzionare in vb6 nel senso che mi da errori sugli operatori e su i tipi di dato.

al posto di ma io dovrei mettere il valore di una textbox.

sicuramente mi sfugge qualcosa di banale.

scrivendola invece in questo modo:
Codice sorgente - presumibilmente Visual Basic 6

  1. Query = "SELECT * From tbl_Clienti WHERE NomeContatto like " & "'*Mario*'" & ";"


(ovviamente non ha senso cosi ma è solo per specificare il modo in cui la scrivo)

non mi da errori ma non da neanche record...

dove sbeglio??
mi fornite qualche specifica su come utilizzare in vb6 le stringhe che chiamano le query?
cioè, come si usano gli operatori etc all'interno delle stringhe?

grazie



ho risolto usando il simbolo di percentuale al posto dell'asterisco..invb6 a quanto pare si usa quello...mi indicate qualche link dove posso veere tutte queste regole

PM Quote
Avatar
Alfonso (Ex-Member)
Guru


Messaggi: 688
Iscritto: 30/09/2009

Segnala al moderatore
Postato alle 15:00
Martedì, 22/12/2009
Non capisco che tipo di database tu stia usando.
Il carattere % credo che sia per Sql Server l'equivalente del carattere * per access.
Se è access deve funzionare il carattere asterisco.
E senza aggiungere il ; alla fine della query.
Ti allego l'help in linea per l'operatore Like con riferimento ad Access.


Alfonso ha allegato un file: OperatoreLike.zip (1042 bytes)
Clicca qui per scaricare il file
PM Quote
Avatar
gibra (Normal User)
Pro


Messaggi: 155
Iscritto: 16/04/2009

Segnala al moderatore
Postato alle 22:59
Martedì, 22/12/2009
Testo quotato

Postato originariamente da foralobo:
ho risolto usando il simbolo di percentuale al posto dell'asterisco..invb6 a quanto pare si usa quello...mi indicate qualche link dove posso veere tutte queste regole



E' una questione nota, non è un problema di VB6: dipende del PROVIDER che usi.

1. Se usi ADO devi usare il %
2. Se usi DAO devi usare l'asterisco.

E dato che MS Access (ambiente di lavoro da non confondere con il database Access) usa internamente DAO ecco perchè la query con l'asterisco funziona in ambiente MS Access ma non in ambiente VB6 con ADO. :asd:
Se tu usassi DAO (cosa che sconsiglio caldamente!) al posto di ADO, la tua query funzionerebbe perfettamente.

Riguardo ai link che chiedi, basta consultare la guida di VB6. :D

Ciao

Ultima modifica effettuata da gibra il 22/12/2009 alle 23:01
PM Quote
Avatar
foralobo (Normal User)
Pro


Messaggi: 146
Iscritto: 30/11/2009

Segnala al moderatore
Postato alle 20:39
Sabato, 26/12/2009
Testo quotato

Postato originariamente da gibra:

Testo quotato

Postato originariamente da foralobo:
ho risolto usando il simbolo di percentuale al posto dell'asterisco..invb6 a quanto pare si usa quello...mi indicate qualche link dove posso veere tutte queste regole



E' una questione nota, non è un problema di VB6: dipende del PROVIDER che usi.

1. Se usi ADO devi usare il %
2. Se usi DAO devi usare l'asterisco.

E dato che MS Access (ambiente di lavoro da non confondere con il database Access) usa internamente DAO ecco perchè la query con l'asterisco funziona in ambiente MS Access ma non in ambiente VB6 con ADO. :asd:
Se tu usassi DAO (cosa che sconsiglio caldamente!) al posto di ADO, la tua query funzionerebbe perfettamente.

Riguardo ai link che chiedi, basta consultare la guida di VB6. :D

Ciao




grazie per la delucidazione...con la percentuale funziona poichè uso ado

PM Quote