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 - piccolo problemi con select ....where
Forum - Visual Basic 6 - piccolo problemi con select ....where

Avatar
untipo (Normal User)
Rookie


Messaggi: 54
Iscritto: 14/10/2009

Segnala al moderatore
Postato alle 11:11
Domenica, 07/03/2010
Ciao ragazzi, prima di ogni cosa, questo mi sembra il sito più attivo per gli utonti come me che cercano ancora fonti di "energia" per vb6 in giro sulla rete.. quindi grazie mille di esserci.
Vi espongo questo piccolo problemino.
In pratica sto cercando di creare una msflesgrid con fonti prese da un database tramite un select .... where quello che scrivo è questo :
   Dim DBStabacchi As Database
   Dim rstsigarette As Recordset
   Dim risultati As Recordset
   Set DBStabacchi = OpenDatabase("c:\tabacchi\tabacchi.mdb")
   Set rstsigarette = DBStabacchi.OpenRecordset("sigarette", dbOpenDynaset)
   If rstsigarette.RecordCount = 0 Then
     MsgBox ("Nessuna corrispondenza trovata in archivio.")
   Else
        Set risultati = DBStabacchi.OpenRecordset("SELECT * FROM sigarette WHERE nome >=" & Chr$(34) & Trim(Text6.Text) & Chr$(34))


visualizzando risultati.recordcount il valore è sempre e solo un record !
pur avendo in archivi sigarette molti più record in cui nome inizia per il valore di text6.text ad esempio "B"

qualche suggerimento ?




PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 11:26
Domenica, 07/03/2010
Sì ... ma tu cosa vuoi ottenere dal database?

Cosa vuoi ottenere con la WHERE ? Perchè inserisci le virgolette Chr$(34) nella SELECT ?


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
untipo (Normal User)
Rookie


Messaggi: 54
Iscritto: 14/10/2009

Segnala al moderatore
Postato alle 11:34
Domenica, 07/03/2010
Testo quotato

Postato originariamente da nessuno:

Sì ... ma tu cosa vuoi ottenere dal database?

Cosa vuoi ottenere con la WHERE ? Perchè inserisci le virgolette Chr$(34) nella SELECT ?



Grazie per la celere risposta, a me serve che dalla tabella "sigarette" vengano estratti tramite il selec ... where tutti i record il cui campo "nome" inizi per il valore della textbox che si chiama text6. Ovvero in text6 digito B e lui dovrebbe filtrare e mettere nel recordset "risultati" tutti i record in cui il valore del campo "nome" di sigarette inizi per B
Il risultato e sempre e solo il primo record in cui inizia per B.
Per quanto riguarda le virgolette, senza mi dà errore.

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 11:42
Domenica, 07/03/2010
DBStabacchi.OpenRecordset("SELECT * FROM sigarette WHERE nome LIKE '" & Trim(Text6.Text) & "*'")

Usa l'operatore LIKE e gli apici singoli ...

Ultima modifica effettuata da nessuno il 07/03/2010 alle 12:00


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
untipo (Normal User)
Rookie


Messaggi: 54
Iscritto: 14/10/2009

Segnala al moderatore
Postato alle 12:01
Domenica, 07/03/2010
Ok, sono stupido.
Ho fatto quello che mi hai suggerito e la proprietà recordcount era sempre uno. Ricontrollo tutto e coso noto, che non avevo aggiunto il .movelast quindi il recordset non si riempiva. Adesso dopo il select ho aggiungo
risultati.movelast
e risultati.recordcount adesso è 19
Grazie mille.

PM Quote