[VB/ODBCDirect] routine buggée?

routine buggée? [VB/ODBCDirect] - VB/VBA/VBS - Programmation

Marsh Posté le 19-07-2002 à 16:56:48    

une petite question :
 
pour mettre à jour une base de Données ODBC qui ne fonctionne avec rien (ADO, etc...)
lorsqu le programme tourne pour faire un update pas de probleme.
mais quand je mets effectivement un champs à mettre à jour
rs!Champs="ESSAI"
 
j'ai le message "Erreur d'exécution 3146
                 ODBC -- l'appel a échoué"
 
cool mais je suis connecter en local et ca marche sans ajouter cette ligne : y a t'il un truc d'anormal dasn mon code
 
 
 
Dim ws As dao.Workspace
Dim db As dao.Database
Dim rs As dao.Recordset
Set ws = dao.CreateWorkspace("ws", "monlog", "monpw", dbUseODBC)
Set db = ws.OpenDatabase("", dbDriverNoPrompt, False, "ODBC;DSN=Test;" )
 
For i = 0 To compteur - 1
sqlreq3 = "select ARTI_CODE,ARTI_COEF,ARTI_NOMR from TABLE where ARTI_CODE = '" + col0(i) + "' "
Set rs = db.OpenRecordset(sqlreq3, dbOpenDynamic, dbRunAsync, dbOptimisticValue)
 
rs.Edit
Do While Not rs.EOF
 
   If rs.Fields(0).Value = col0(i)  
 
rs!ARTI_NOMR = "ESSAI"             'essai
col3(i) = Format(col3(i), "#######0.00" )
'If col3(i) <> "" Then rs!ARTI_PV = CSng(col3(i))    'prix vente
 
        rs.Update
        Exit Do
   End If
      rs.MoveNext
Loop
 
Next i
 
rs.Close
db.Close
Set db = Nothing
 
 

Reply

Marsh Posté le 19-07-2002 à 16:56:48   

Reply

Marsh Posté le 19-07-2002 à 17:58:14    

avant d'updater un recordset faut l'editer il me semble
 

Code :
  1. ...
  2. rs.edit
  3. rs.champ(i)=valeur
  4. rs.update
  5. ...

Reply

Marsh Posté le 22-07-2002 à 09:11:46    

Merci pour la réponse.
 
j'ai changé de place rs.Edit pour le mettre dans la condition de la boucle. mais le résultat reste le même...
 
je crois que la base (Criteria) n'est pas 100% compatible avec ODBC.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed