|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jun 2001
Messaggi: 165
|
[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!! |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Aug 2001
Città: Gerenzano
Messaggi: 129
|
'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... |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jun 2001
Messaggi: 165
|
IO UTILIZZO L'OGGETTO DATA MA VA DICHIARATO QUALCHE ISTRUZIONE PERCHè NON FUNZIONA!
|
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Aug 2001
Città: Gerenzano
Messaggi: 129
|
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' Codice:
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
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! |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jun 2001
Messaggi: 165
|
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 |
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Aug 2001
Città: Gerenzano
Messaggi: 129
|
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' Codice:
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
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 02:16.



















