Parametre ADODC

Résolu
tbbuim1 Messages postés 940 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 3 février 2011 - 14 juin 2005 à 15:14
nuelo Messages postés 20 Date d'inscription samedi 8 mai 2004 Statut Membre Dernière intervention 25 septembre 2008 - 16 juil. 2005 à 18:51
Bonjour à tous,



Sous Vb6, J'ai un datagrid, un adodc et une base de données Access.



Lorsque je paramètre en dur l'adodc et que je fais pointer le datagrid dessus, je peux sans aucun code supplémentaire modifier directement les données de la table afficher dans le datagrid.

L'ennuis, c'est que la requête que je veux vraiment utiliser possède un
paramètre qui vient d'un autre formulaire. Par conséquent, je paramère
l'adodc du datagrid par le code en faisant cela:

Public sub Connexion()

sql "SELECT * FROM Table Where ((Table.Num) '" & Saisie.Num & "');"

Set rst = New ADODB.Recordset

Set cnn = New ADODB.Connection

cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & app.path & "\bd.mdb" & _

";Persist Security Info=False"

rst.CursorLocation = adUseClient

rst.Open sql, cnn, adOpenDynamic, adLockOptimistic

Set rst.ActiveConnection = Nothing

Set Adodc1.Recordset = rst

cnn.Close
End sub



Ca marche très bien, l'ennuis, c'est que maintenant, il m'est impossible de modifier les données de la table!
Je peux changer le texte, mais rien n'est sauvé, j'ai mis les options
Allow à true mais ça ne fait rien, j'ai même essayé de faire un bouton
Enregistrer dans lequel je mets

Adodc1.Recordset.Update

Adodc1.Recordset(3) = DataGrid1.Columns(3)

Mais rien n'est mis à jour!

Quelqu'un aurait-il une idée, ou même la solution?

Merci pour votre aide.
TBBUIM

2 réponses

tbbuim1 Messages postés 940 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 3 février 2011 9
14 juin 2005 à 17:01
C'était tout simple en fait!

Il faut enlever les lignes

Set rst.ActiveConnection = Nothing

cnn.close

Ainsi on peut modifier les données directement dans le datagrid

Public sub Connexion()

sql "SELECT * FROM Table Where ((Table.Num) '" & Saisie.Num & "');"

Set rst = New ADODB.Recordset

Set cnn = New ADODB.Connection

cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & app.path & "\bd.mdb" & _

";Persist Security Info=False"

rst.CursorLocation = adUseClient

rst.Open sql, cnn, adOpenDynamic, adLockOptimistic

'Set rst.ActiveConnection = Nothing

Set Adodc1.Recordset = rst

'cnn.Close

End sub

TBBUIM
3
nuelo Messages postés 20 Date d'inscription samedi 8 mai 2004 Statut Membre Dernière intervention 25 septembre 2008
16 juil. 2005 à 18:51
comment connecté une base de données oracle 8i à visual basic 6.0?
0
Rejoignez-nous