|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Nov 2004
Messaggi: 48
|
Database con VB 6
Salve a tutti, mi sono avvicinato da poco al mondo del visual basic e avrei bisogno di qualche aiutino.
Qualcuno mi potrebbe dire come inserire una funzione di ricerca all'interno di un database da me creato. Il database va bene, ma non riesco ad inserire qualche funzione per effettuare la ricerca a seconda dei campi, cioè dovrei poter trovare una parola scegliendo il campo in cui cercarlo. Ringrazio tutti quelli che mi potranno essere d'aiuto. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Che metodo utilizzi per aprire il database, DAO o ADO?
E inoltre, il database che db è? access? mysql?
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Nov 2004
Messaggi: 48
|
ecco
io uso un file di access per il database
per quanto riguarda il tipo di database, non so cosa significa ado o dao. se mi puoi spiegare cosa significa per favore? |
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Re: ecco
Quote:
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
|
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Nov 2004
Messaggi: 48
|
ecco cosa uso
allora io ho il database in access, e uso un controllo data per collegarmi al database e visualizzo i dati in textbox.
In ogni caso mi potresti indicare dove posso trovare qualche guida alla programmazione di database con visual basic? Grazie infinite |
![]() |
![]() |
![]() |
#6 |
Member
Iscritto dal: Nov 2004
Messaggi: 48
|
Ho fatto come mi avete detto, ma da dove mi avete indicato non c'era niente riferito alla funzione cerca all'interno di un database.
Qualcuno mi potrebbe indicare dove trovare una guida a visual basic dove spiega come inserire la funzione cerca all'interno di un database facendo si da poter scegliere in quale campo effettuare la ricerca. Grazie mille |
![]() |
![]() |
![]() |
#7 |
Member
Iscritto dal: Nov 2004
Messaggi: 48
|
Nessuno può aiutarmi
Nessuno può aiutarmi a risolvere il mio quesito?
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Ciao, allora, io posso dirti il metodo che uso io per connettermi ad un database, leggere, modificare, cancellare dati e ricercarli.
supponiamo che il mio progetto sia in c:\prove\ mi creo stesso li dentro il database access che chiamerò ad esempio: prova.mdb. Ora, da Visual Basic, scelgo: Progetto - Componenti - Microsoft ActiveX Data Object 2.7 (che è quella che ho io, la tua potrebbe essere la stessa o differire nella versione, 2.6 per esempio). Questo mi consentirà di usare ADO per la connessione al mio database, in questa maniera: Codice:
Option Explicit Dim cn As ADODB.Connection ' cn è un nome arbitrario Dim rs As ADODB.Recordset 'rs è un nome arbitrario Dim cerca As String 'variabile di nome cerca di tipo String Private Sub Form_Load() 'comincio a settare i parametri per la connessione Set cn = New ADODB.Connection Set rs = New ADODB.Recordset 'connessione al database: cn.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0; Datasource=" & App.Path & "\prova.mdb" cn.Open 'ora sono connesso al mio database prova.mdb 'supponiamo che abbia un pulsante di comando di nome cerca 'e che sul form abbia una casella di testo dove inserire il nome da cercare 'e una flexgrid dove visualizzare i dati, farò: Private Sub cerca_click() cerca = "" cerca = cerca & "SELECT Cognome" & VbCrlf ' dico di selezionare tutti i record Cognome" cerca = cerca & "FROM tabella_database" & VbCrlf 'dalla specifica tabella cerca = cerca & "WHERE Cognome LIKE ' " text1.Text " ' 'dove il cognome è uguale a quello scritto nella casella di testo set rs = cn.Execute(cerca) 'gli dico di eseguire quanto sopra while not (rs.EOF) 'fin quando non arrivo alla fine del file flexgrid.additem rs("Cognome") 'dico alla flex grid di aggiungere a video il cognome che ho cercato rs.movenext 'dico di spostarsi sul prossimo record Wend 'fine while Ma spero che renda l'idea ![]()
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
![]() |
![]() |
![]() |
#9 |
Member
Iscritto dal: Nov 2004
Messaggi: 48
|
Grazie mille
Ti ringrazio pe tutto ciò che mi hai detto e mi scuso per il ritardo con cui mi sono fatto sentire, ma non mi potevo collegare ad internet perchè ho cambiato il mio abbonamento e mi sono trovato un periodo senza collegamento.
Ti ringrazio ancora e ti volevo chiedere se mi puoi indicare un sito o una guida su tutto quello che mi hai detto e sulla realizzazione di database con visual basic. Grazie ancora |
![]() |
![]() |
![]() |
#10 |
Member
Iscritto dal: Nov 2004
Messaggi: 48
|
Problemino
Ciao scusami se ti assillo, ma mi da un errore su questa stringa.
set rs = cn.Execute(cerca) Potresti dare un'occhiata per favore. Grazie e scusami ancora per il disturbo |
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Controlla bene la tua query contenuta dentro la variabiel "cerca" ... perchè molto probabilmente è sbagliata
![]()
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
![]() |
![]() |
![]() |
#12 | |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Re: Problemino
Quote:
![]()
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
|
![]() |
![]() |
![]() |
#13 |
Member
Iscritto dal: Nov 2004
Messaggi: 48
|
ecco il codice
vi posto il codice della mia applicazione.
Option Explicit Dim cn As ADODB.Connection 'cn è un nome arbitrario Dim rs As ADODB.Recordset 'rs è un nome arbitrario Dim cerca As String 'variabile di nome cerca di tipo String Private Sub frm_database() Set cn = New ADODB.Connection Set rs = New ADODB.Recordset cn.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0; Datasource=" & App.Path & "\bambini.mdb" cn.Open End Sub Private Sub cmd_ricerca_Click() cerca = "" cerca = cerca & "SELECT Cognome" & vbCrLf cerca = cerca & "FROM bambini" & vbCrLf cerca = cerca & "WHERE Cognome LIKE ' " & txt_ricerca.Text ' Set rs = cn.Execute(cerca) While Not (rs.EOF) flexgrid.AddItem rs("Cognome") rs.MoveNext Wend 'fine while End Sub Mi potete aiutare per favore. Grazie a tutti |
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
L'errore è qui, questa è la correzione:
Codice:
cerca = cerca & "WHERE Cognome LIKE '" & txt_ricerca.Text & "'"
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
![]() |
![]() |
![]() |
#15 |
Member
Iscritto dal: Nov 2004
Messaggi: 48
|
non va lo stesso
Il problema me lo da ancora e nello stesso punto, cioè qui
set rs = cn.Execute(cerca) mi aiutate per favore? Grazie a tutti |
![]() |
![]() |
![]() |
#16 |
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Prova a dire almeno l'errore...
![]()
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
![]() |
![]() |
![]() |
#17 |
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
La query con l'aggiunta che ti ho detto io funziona, l'unica cosa è che metti degli apostrofi, è possibile?
Cmq è meglio che dici che errore ti da ![]()
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
![]() |
![]() |
![]() |
#18 |
Member
Iscritto dal: Nov 2004
Messaggi: 48
|
Ecco l'errore
mi da il seguente errore
Errore di run-time '91': Variabile oggetto o variabile del blocco With non impostato Cliccando su debug, mi si posiziona automaticamente sulla stringa che ho detto in precedenza. Ciao e grazie ancora |
![]() |
![]() |
![]() |
#19 |
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Ma tu dove richiami questa sub? frm_database()
Nella load della form? E cmq ti conviene chiamarla senza il frm_ davanti al nome, perchè così fai solo confusione!
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
![]() |
![]() |
![]() |
#20 |
Member
Iscritto dal: Nov 2004
Messaggi: 48
|
non ho capito bene cosa vuoi dire, ma se ti riferisci alla barra che c'è sopra, allora li ho selezionato la voce "generale", e comunque non gira.
In caso non è quello, allora non so a cosa ti riferisci. Grazie ancora. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:39.