Newsgroup: it.comp.lang.visual-basic
Titolo: VB5 e database

Salve a tutti,
premetto che sono un novizio di VB e sto usando la versione 5 per realizzare
un archivio che mi consenta l'inserimento dati e la ricerca da database.
Purtroppo mi sono intoppato proprio sul form della ricerca!
La mia esigenza è:
- in presenza di 15 campi eseguire una ricerca sul database per ogni campo,
a scelta. Ad. es. voglio rintracciare un cliente e voglio poterlo fare
ricercandolo per nome, oppure per telefono, oppure per città... ecc...
Come posso fare??
Che VOI sappiate esiste qualche sorgente da poter scaricare?
Grazie

 wrote in message
news:SrUTe.53251$
HM1.1...@twister1.libero.it

Componiti la stringa SQL ciclando l'insieme Controls facendo
attenzione alle TextBox(credo tu stia usando quelle per inserire
i criteri).
Se dai alle TextBox il Nome del campo del Database potresti
semplificare la cosa.
Qualora ci siano TextBox non adibite alla ricerca occorrerà
inserire un riconoscimento nella proprietà TAG per la discriminazione.
Devi fare attenzione alla composizione corretta in base
al FieldType Stringa/Data/Numerico
Dim rsC as Dao.Recordset
Dim ctl as Control
Dim sSQL as string
' Usata solo per ricavare un Rs vuoto ma del quale hai le proprietà
' dei Field
set rsC=dbs.OpenDatabase("SELECT * FROM NomeTabella WHERE 1=0)
sSQL="SELECT * FROM NomeTabella "
For each ctl in Me.Controls
    If ctl.controltype=acTextBox
         Select case rsC.Fields(
ctl.name
).FieldType
              Case acText
                 strWhere=strWhere & ctl.Name & "='" & ctl.Text & "' AND
"
              Case acData
                 ' composizione della Data con Format
              Case acNumeric
                 '............
          End select  
    End if
Next
If len(strWhere)>0 then
   strWhere="WHERE " & Mid$(strWhere,1,Len(strWhere)-5)
sSQL=sSQL & strWhere & " ORDER BY NomeCampo"
rsC.Close
set rsc=Nothing
Ora in sSQL hai la stringa SQL da passare all'apertura
del Recordset.
Osservazione.
In quanto ho scritto a braccio verifica se le costanti che
ho scritto non siano inventate, ho più pratica con VBA, ed
in VB spesso commetto errori non avendo la possibilità di
verificare.
In ogni caso quello che volevo farti capire è solo una
delle tecniche possibili.
Se la ricerca deve poter essere effettuata per testi parziali
devi modificare ovviamente la composizione sostituendo l'=
con il LIKE e mettendo gli * se usi DAO o % per ADO.
Spero di non averti fatto più confusione di quanto ti serviva.
@Alex
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ricercandolo per nome, oppure per telefono, oppure per città... ecc...
Messo cosi' l'argomento e' un po' vasto. Il sistema che solitamente io
utilizzo e' quello di costruire una query SQL con i parametri opportuni e
poi di aprire il Recordset con questa query. Quindi ti consiglio di
studiarti un po' di SQL innanzitutto.
Applicazioni di esempio se cerchi su Google credo ne puoi trovare a
centinaia
-- 
Fabio
http://www.codice.it

 ha scritto nel messaggio
news:1accf2f22261944861...@mygate.mailgate.org...


 quale tra le seguenti variabili rappresenta il mio TextBox1?
Hai letto bene quanto ti ho scritto...?
Immagino tu abbia tante textBox quanti sono i criteri
o sbaglio...?
Ti ho consigliato di assegnare a tali controlli il nome
del Campo del DB per semplicità.
Quindi devi conoscere minimamente la struttura ad Oggetti
per capire che non interessa quale sia il 1° o l'ultimo
dato che vengono ciclati con 4 righe di codice.....!!!!!
Il codice che ti ho postato anche se scritto a braccio
è praticamente completo, lo hai capito...?
Sei in grado di intervenire eventualmente...?
Non ti sentire in difficoltà, ma se non mi fai capire
il tuo livello io do per scontato sia tutto OK.
Saluti


 ha scritto nel messaggio
news:05c2b5c0847d6da2ff...@mygate.mailgate.org...


Non servo numeri, ma hai capito il codiche che ti ho
scritto come funziona...?
Conosci la struttura ad oggetti e come interagire con essa..?
Se no avrai troppe difficoltà.
Ciao.
@Alex

 ha scritto nel messaggio
news:1126250165.2...@g14g2000cwa.googlegroups.com...


 disponibilità e gentilezza.
Pero, spero che questa spiegazione ti abbia chiarito l'uso
delle Collection e degli oggetti.
Ciao
