[Catégorie modifiée VB6 -> VBA] liaison conditionnelle adodb avec plusieurs cond

Signaler
Messages postés
35
Date d'inscription
mercredi 12 août 2009
Statut
Membre
Dernière intervention
25 août 2012
-
Messages postés
35
Date d'inscription
mercredi 12 août 2009
Statut
Membre
Dernière intervention
25 août 2012
-
bonjour,
En vba word, j'ai créer une connexion adodb qui me permet automatiquement d'insérer ou de modifier des enregistrements dans une base access.
Quand il s'agit de modifier un enregistrement dans une table en fonction d'une seule condition, aucun problème.
Par contre, je voudrais pouvoir modifier les enregistrements dont deux champs correspondes à des critères.
En fait, je ne voudrais modifier que les enregistrements (par exemple le champs 3)dont le champs 1 est égal à un certain critère le le champs 2 correspond à un autre.
J'ai testé le code suivant, mais ce n'est pas satisfaisant:



numcollabo = "critère 2"
ComboBox2 = "critère 1"
dateaud = "8/9/2011"

Dim Conn As ADODB.Connection
Dim rsT As ADODB.Recordset
Dim fd As ADODB.Field
Dim maTable As String
Set Conn = New ADODB.Connection
Set rsT = New ADODB.Recordset
With Conn
.Provider = "Microsoft.JET.OLEDB.4.0"
.Open "C:\base\cabinet.mdb"
.Execute "Update T_Audiencier_liaison Set code_collabo_externe=numcollabo where (date_audience=" & dateaud " and code_juridiction=" & combobox2 & ")"
End With
Conn.Close

Je ne dois pas être loin de la solution. Si quelqu'un a une idée, je suis preneur.

Merci.

3 réponses

Messages postés
14772
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
6 mars 2021
151
Bonjour,

Les dates en Access sont au format #mm/dd/yyyy# et si un champ est de type texte, l'entourer de "

Sinon, précise l'erreur.

Teste aussi en faisant :
lSql="UPDATE ..."
.Execute lSql

Ensuite regardes la valeur de lSql et essayes d'exécuter la requête directement dans Access.

Sinon pour le code, voir le point 2 qui suit.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Salut

Tu as déjà posté cette question le 23 août, mot pour mot.
Si les réponses n'ont pas été claires, c'est que ta question manquait d'élément.
Tu aurais pu, au minimum, ajouter les détails que tu avais fournis lors des précédentes questions.
NHenry a déjà eu l'occasion de te répondre, mais tu ne sembles pas avoir corrigé quoi que ce soit, apparemment pas de recherche non plus.
Crois-tu qu'on va les faire pour toi ?

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
35
Date d'inscription
mercredi 12 août 2009
Statut
Membre
Dernière intervention
25 août 2012

Merci à tous, mais en fait, la réponse du 23 août n'avait rien donné. Superplantage et je m'étais consacré à d'autres parties du code.
Je vais m'atteler à tester et j'indiquerai les suites.