View Full Version : [VB] problemino aiutatemi
perchè se scrivo nella sezione codice l'istruzione SELECT oppure l'istruzione ORDER by le considera come errore ??
cosa ho sbagliato??? mi sono scordato di fare qualcosa prima,
vi prego aiutatemi non posso fare nulla senza queste due istruzioni!!
'SELECT' & 'ORDER BY' sono predicati S.Q.L. (Parole chiavi utilizzate per l'estrazione di dati da uno o più database) e non sono delle funzioni di VB.
Per utilizzarle con VB devi usare degli oggetti appositi come x esempio ADO,DAO,RDO ecc...
IO UTILIZZO L'OGGETTO DATA MA VA DICHIARATO QUALCHE ISTRUZIONE PERCHè NON FUNZIONA!
Ti scrivo un esempio molto grezzo tanto x farti capire...
1) Inserisci il tuo controllo data 'Data1' in un form.
2) Inserisci anche un textbox (tanto x provare...)
3) Imposta la proprietà datasource del textbox a 'Data1'
Dim db As Database
Dim rs As Recordset
Dim sPath As String
Dim sSql As String
' *** Percorso di un database access
sPath = "W:\VBModel6\MMP\700\Data\MM01DB.mdb" ' *** tanto x provare
' *** Apri il database
Set db = Workspaces(0).OpenDatabase(sPath)
' *** Imposti la tua s.q.l.
sSql = "SELECT * FROM tblXXX ORDER BY Campo"
Set rs = db.OpenRecordset(sSql)
Set Data1.Recordset = rs ' Assegno il Recordset al datacontrol
Text1.DataField = "Campo"
End Sub
Con questo codice apri un database.
Dopo averlo aperto imposti una SQL che ti serve per estrarre dei dati (In questo caso tutti i record della tabella 'tblXXX' ordinati per 'Campo') [OVVIAMENTE LAI CAMPI IN BASE AL TUO DB], infine assegni il recordset (Set di dati) al tuo controllo data!.
Se il recordset non è vuoto (BOF/EOF) vedrai il testo del tuo campo dentro il textbox ....
CIAO!
ti ringrazio per le righe di codice che mi hai dato, ma funzionano solo con gli oggetti data, mentre con gli oggetti adodc non funziona, dato che io sto utilizando proprio degli ogetti adodc per via di certe datagrid, non mi potresti indicare come devo fare per far si che il codice funzioni anche con un adodc
Grazie
1) Assicurati di avere selezionato ADO tra i riferimenti del progetto
->Progetto ->Riferimenti ->Microsoft ActiveX Data Object 2.X Library
2) Inserisci il tuo controllo data 'Data1' in un form.
3) Inserisci anche un textbox (tanto x provare...)
4) Imposta la proprietà datasource del textbox a 'Data1'
Private Sub Form_Load()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim sConn As String
Dim sPath As String
Dim sSql As String
' *** Percorso di un database access ... (tanto x provare=
sPath = App.Path & "\Data\"
sDBName = "MM01DB.mdb"
' *** Imposti la stringa di connessione per il provider dei dati
' (In questo caso Access ...)
'
sConn = "Provider=Microsoft.Jet.oledb.4.0;" & "Data Source=" & sPath & sDBName
' *** Apri il database ...
Set cn = New ADODB.Connection
cn.Open sConn
' *** Imposti la tua s.q.l.
sSql = "SELECT * FROM tblXXX ORDER BY Campo"
' *** Apri un recordset
'
' Ci sono vari modi x aprire un recordset, il + veloce è aprirlo direttamente
' dalla connection con il metodo execute ... (in questo caso lo apro con l'oggetto Recordset)
'
Set rs = New ADODB.Recordset
rs.Open sSql, cn, adOpenForwardOnly, adLockReadOnly
Set Data1.Recordset = rs ' Assegno il Recordset al datacontrol
Text1.DataField = "Campo"
End Sub
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.