A voir également:
- Aide requete sql sous access [Programme en vb
- Vb - Télécharger - Langages
- Programme demarrage windows 10 - Guide
- Comment mettre en veille un programme sous windows 10 - Guide
- Vb cable - Télécharger - Audio & Musique
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
13 réponses
blux
Messages postés
26751
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
31 mars 2025
3 332
8 juin 2006 à 13:12
8 juin 2006 à 13:12
Salut,
Je supose que tu stockes ta requête dans une chaine pour l'exécuter.
Il faut donc la compléter avec le choix du client :
Je supose que tu stockes ta requête dans une chaine pour l'exécuter.
Il faut donc la compléter avec le choix du client :
Str = "SELECT .... FROM ..." Str = Str + "WHERE Id_Client = " madatalist.value " " Str = Str + "AND .... ;"
J'essai mais qd je fais :
Dim str as string
Str = "SELECT Document.Date FROM Document, Client"
Str = Str + "WHERE Document.Id_Client = " datalist1.selecteditem " "
Str = Str + "AND Client.Id_client = Document.Id_client ;"
j'ai une erreur de compilation avec datalist1 surligné
Dim str as string
Str = "SELECT Document.Date FROM Document, Client"
Str = Str + "WHERE Document.Id_Client = " datalist1.selecteditem " "
Str = Str + "AND Client.Id_client = Document.Id_client ;"
j'ai une erreur de compilation avec datalist1 surligné
blux
Messages postés
26751
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
31 mars 2025
3 332
8 juin 2006 à 15:16
8 juin 2006 à 15:16
Tu peux afficher le contenu de datalist.selecteditem ?
Ca ne serait pas un truc avec sélection multiple ?
Ca ne serait pas un truc avec sélection multiple ?
Bon voila ce que j'ia reussi a faire, normalement je pense que ca devrait marcher.
str = "SELECT Document.Date FROM Document, CLient WHERE Client.Nom = " + txtNom.text + " AND Document.Id_client = Client.Id client"
Set bd = OpenDatabase(".\bd1.mdb")
Set tbl = bd.OpenRecordset(str)
While Not tbl.EOF
List1.AddItem tbl.Fields("Date")
tbl.MoveNext
Wend
tbl.Close
mais j'ai un autre probleme qd je lance mon programme j'ai un message d'erreur : " erreur 3343 format de base de données non reconnu"
Je ne sais pas quoi faire .....
str = "SELECT Document.Date FROM Document, CLient WHERE Client.Nom = " + txtNom.text + " AND Document.Id_client = Client.Id client"
Set bd = OpenDatabase(".\bd1.mdb")
Set tbl = bd.OpenRecordset(str)
While Not tbl.EOF
List1.AddItem tbl.Fields("Date")
tbl.MoveNext
Wend
tbl.Close
mais j'ai un autre probleme qd je lance mon programme j'ai un message d'erreur : " erreur 3343 format de base de données non reconnu"
Je ne sais pas quoi faire .....
blux
Messages postés
26751
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
31 mars 2025
3 332
8 juin 2006 à 15:44
8 juin 2006 à 15:44
Faudrait pas mettre le type de databse dans OPENDATABASE ?
Sinon, comment peut-il savoir que c'est ACCESS ?
Sinon, comment peut-il savoir que c'est ACCESS ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Oui c'est une datalist avec tout les client dedans, donc plusieur selection possible.
Mais j'ai essayer en passant par une textbox dans laquel je renvoie le nom pour voir si ca maché cf le post du dessus, mais maintenant autre probleme.
Merci pour ton aide Blux.
Mais j'ai essayer en passant par une textbox dans laquel je renvoie le nom pour voir si ca maché cf le post du dessus, mais maintenant autre probleme.
Merci pour ton aide Blux.
blux
Messages postés
26751
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
31 mars 2025
3 332
8 juin 2006 à 16:55
8 juin 2006 à 16:55
Tu es sous VB ou VBA pour ACCESS ?
Car sous ACCESS, il peut être fait référence à la base courante avec le mot-clé CurrentDb.
Dim MaTable As RecordSet
Set MaTable = CurrentDb.OpenRecordSet("MaTable")
Car sous ACCESS, il peut être fait référence à la base courante avec le mot-clé CurrentDb.
Dim MaTable As RecordSet
Set MaTable = CurrentDb.OpenRecordSet("MaTable")
Voila exactemen mon code :
Dim str As String
Dim bd As Database
Dim tbl As Recordset
str = "SELECT Document.Date FROM Document, CLient WHERE Client.Nom = " + txtNom.text + " AND Document.Id_client = Client.Id client"
Set bd = OpenDatabase(".\bd1.mdb")
Set tbl = bd.OpenRecordset(str)
While Not tbl.EOF
List1.AddItem tbl.Fields("Date")
tbl.MoveNext
Wend
tbl.Close
Dim str As String
Dim bd As Database
Dim tbl As Recordset
str = "SELECT Document.Date FROM Document, CLient WHERE Client.Nom = " + txtNom.text + " AND Document.Id_client = Client.Id client"
Set bd = OpenDatabase(".\bd1.mdb")
Set tbl = bd.OpenRecordset(str)
While Not tbl.EOF
List1.AddItem tbl.Fields("Date")
tbl.MoveNext
Wend
tbl.Close
phile
Messages postés
1
Date d'inscription
samedi 25 août 2001
Statut
Membre
Dernière intervention
23 septembre 2006
23 sept. 2006 à 15:07
23 sept. 2006 à 15:07
comment programmer en vb dans access?
j'ai deja creéé les tables et formulaires et je ne sais comment continué
j'ai deja creéé les tables et formulaires et je ne sais comment continué
blux
Messages postés
26751
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
31 mars 2025
3 332
25 sept. 2006 à 08:50
25 sept. 2006 à 08:50
Salut,
tout dépend ce que tu souhaites faire...
Va faire un tour ici (mais plein d'autres sites existent) :
http://www.info-3000.com/access/index.php
et reviens quand tu auras des soucis !
tout dépend ce que tu souhaites faire...
Va faire un tour ici (mais plein d'autres sites existent) :
http://www.info-3000.com/access/index.php
et reviens quand tu auras des soucis !
Bonjour je suis sur le même problème que Floran au début du post mais quelque peu différent tout de même.
voila ma requête :
SELECT User.applicatif, User.rubrique, User.utilisateur
FROM User
GROUP BY User.applicatif, User.rubrique, User.utilisateur
ORDER BY User.applicatif, User.rubrique,
WHERE User.utilisateur = "list1.value";
ou liste1 est une liste déroulante avec toutes les valeurs des enregistrements, l'utilisateur sélectionne l'enregistrement désiré pour avoir toutes les données des 2 autres champs relatifs a se dernier.
Ici, j'ai une erreur qui me dit :
"Erreur de syntaxe (opérateur absent) dans l'expression WHERE User.utilisateur = "list1.value";"
je ne comprends pas pourquoi puisque le = fait ici office d'opérateur et de critère.
merci beaucoup d'avance pour votre aide. : )
Victor
voila ma requête :
SELECT User.applicatif, User.rubrique, User.utilisateur
FROM User
GROUP BY User.applicatif, User.rubrique, User.utilisateur
ORDER BY User.applicatif, User.rubrique,
WHERE User.utilisateur = "list1.value";
ou liste1 est une liste déroulante avec toutes les valeurs des enregistrements, l'utilisateur sélectionne l'enregistrement désiré pour avoir toutes les données des 2 autres champs relatifs a se dernier.
Ici, j'ai une erreur qui me dit :
"Erreur de syntaxe (opérateur absent) dans l'expression WHERE User.utilisateur = "list1.value";"
je ne comprends pas pourquoi puisque le = fait ici office d'opérateur et de critère.
merci beaucoup d'avance pour votre aide. : )
Victor
blux
Messages postés
26751
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
31 mars 2025
3 332
9 juin 2006 à 11:09
9 juin 2006 à 11:09
Je ne connais pas VB, mais il faut lui indiquer quelque part que c'est une base ACCESS...
Soit avec un Dim bd As DAO.database, soit à l'opendatabase
Dans ACCESS, c'est un paramètre (connect) de opendatabase :
L'argument connect est composé de deux parties : le type de base de données, suivi d'un point-virgule (;) et les arguments facultatifs. Vous devez commencer par fournir le type de base de données, tel que "ODBC;" ou "Excel 5.0;". Les arguments facultatifs sont placés à la suite du type dans l'ordre que vous voulez. Vous pouvez, par exemple, indiquer le mot de passe (s'il a été défini). Exemple :
"Excel 5.0; pwd=mypassword"
Ou sinon, tu peux essayer d'utiliser un type de données ODBC, que tu auras créé avant dans le panneau de config...
Regarde l'aide de opendatabase en VB, tu y trouveras sûrement ton bonheur...
Soit avec un Dim bd As DAO.database, soit à l'opendatabase
Dans ACCESS, c'est un paramètre (connect) de opendatabase :
L'argument connect est composé de deux parties : le type de base de données, suivi d'un point-virgule (;) et les arguments facultatifs. Vous devez commencer par fournir le type de base de données, tel que "ODBC;" ou "Excel 5.0;". Les arguments facultatifs sont placés à la suite du type dans l'ordre que vous voulez. Vous pouvez, par exemple, indiquer le mot de passe (s'il a été défini). Exemple :
"Excel 5.0; pwd=mypassword"
Ou sinon, tu peux essayer d'utiliser un type de données ODBC, que tu auras créé avant dans le panneau de config...
Regarde l'aide de opendatabase en VB, tu y trouveras sûrement ton bonheur...