Executer une requête access depuis vb 6

Messages postés
29
Date d'inscription
vendredi 27 décembre 2002
Statut
Membre
Dernière intervention
12 février 2013
-
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
-
Bonjours à tous,

Je debute un peu en vb6.
Je voulais savoir s' il etait envisageable d' excuter une requête: Ajout, supression , modification ou une autre ce situant dans une base access et depuis une feuille de vb 6 avec des boutons.
Si cela est possible pouvais vous me donner quel conseil afin de partir dans la bonne direction.

Merci d' avance

<!-- / message -->

5 réponses

Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
Bonsoir,
Bien sûr que tu peux.
Expliques nous d' abord ce que tu veux faire
avec un exemple concret.

chaibat 
Messages postés
29
Date d'inscription
vendredi 27 décembre 2002
Statut
Membre
Dernière intervention
12 février 2013

Bonsoir chaibat


J' ais crée une base de donnée sous access 97 qui est sous réseau mais tout le monde n' a pas access. j' ais donc crée un .exe sous visual basic qui permet de se connecter à la base, rentré des données et executer des requête simple en SQL. Mais je suis débutant et quand une requête est trés compliquer je bloque. J' ais crée ces requête sous access, elle fonctionne bien mais comment les executer dans une feuille vb comme si on était sous access.






    exemple: je voudrais excuter la requête de mis à jours: "Retrait commande" dans la base "sia" qui met à jour la table "quincaillerie"
voici la commande SQL de access:
 UPDATE quincaillerie INNER JOIN [saisie commandes] ON quincaillerie.RefArt = [saisie commandes].RefArt SET quincaillerie.QuantStock = [quincaillerie]![QuantStock]-[saisie commandes]![UnitéReservé];
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
Bien !
Je vais te donner un exemple que moi j' utilise mais avec
un Accès direct (DAO).Mais je pense qu' il sera facilement adapté à
un environnement réseau.
Voici donc l' exemple:

 Function ADD_DELETE_UPDATE(MaRequete as String) As Boolean
 ADD_DELETE_UPDATE= False
 '(peuvent être déclarées Public dans un Module)
 Dim pWS As Workspace  ' espace de travail
 Dim pDB As Database      'défini  la base de donnée
 
 '(peuvent être ouverts dans Sub Main à l' ouverture du programme)
 Set pWS = DBEngine.Workspaces(0)
 Set pDB = pWS.OpenDatabase("CheminCompletdetaBase")
 
On Error GoTo Order_Err       'pour gerer l' erreur
      'début de la transaction
      DBEngine.Workspaces(0).BeginTrans     'début de la transaction
          pDB.Execute MaRequete,dbFailOnError
      DBEngine.Workspaces(0).CommitTrans   'fin de la transaction 
  ADD_DELETE_UPDATE= True
'
 Exit Function
Order_Err:
    DBEngine.Workspaces(0).Rollback    'annule la transaction
    MsgBox Err.Description
 End Function

si ma requête est
sQuery="UPDATE quincaillerie INNER JOIN [saisie commandes]  ON" _
& "  quincaillerie.RefArt = [saisie commandes].RefArt SET " _
& " quincaillerie.QuantStock = [quincaillerie]![QuantStock]-" _
& " [saisie commandes]![UnitéReservé];"

j' appelle ma fonction :
If ADD_DELETE_UPDATE(sQuery)=True Then _
      MsgBox "Transaction efféctuée avec succès..."

Testes ceci pour voir si ça correspond

chaibat
Messages postés
29
Date d'inscription
vendredi 27 décembre 2002
Statut
Membre
Dernière intervention
12 février 2013

merci chaibat

pour ton aide, mais il que je me forme un peu plus car je n' ais pas tout compris, et je te dirais si cela fonctionne quand j' aurais bien mis tout la où il faut.
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
Bon courage alors !
et n' hésites pas à demander .

chaibat