Access et VB
m_makhoukh
Messages postés
114
Statut
Membre
-
Titeuf -
Titeuf -
bonjour,
je ne sais pas pourquoi,quand je fais cette requete il il n'accepte la :"02"dans le where et il met( attendu:fin d'instruction)
merci d'avance.
je ne sais pas pourquoi,quand je fais cette requete il il n'accepte la :"02"dans le where et il met( attendu:fin d'instruction)
Dim qdf As QueryDef
Dim chSQL As String
chSQL = "SELECT conso2.code_article, conso2.code_famille FROM conso2
WHERE (((conso2.code_famille)="02")) ;"
Set qdf = dbsBase.CreateQueryDef("NouvelleRequete", chSQL)
DoCmd.OpenQuery "NouvelleRequete"
merci d'avance.
A voir également:
- Access et VB
- Vb - Télécharger - Langages
- Access appdata - Guide
- Acer quick access - Forum Logiciels
- Exemple base de données access à télécharger gratuit - Forum Access
- Exemple base de données Access de gestion ✓ - Forum Logiciels
5 réponses
(((conso2.code_famille)="02"))
Je pense que tu devrai enlever les guillements à 02 si ce n'est pas une chaine de caractere; si tu as declare ton code_famille en entier alors enlève les guillemets
++
salut,
pour continuer sur la lancée de Titeuf :
si code_famille est déclaré comme chaîne de caractère, il faut entourer 02 par des apostrophes, pas par des guillemets : '02'.
pour continuer sur la lancée de Titeuf :
si code_famille est déclaré comme chaîne de caractère, il faut entourer 02 par des apostrophes, pas par des guillemets : '02'.
merci,
mais jai un autre souci c'est que qd je veux executer la requete il me met nue erreur(*) comme quoii la requetes est une requete de selection ,comment SVP executer une requete de selection:
mais jai un autre souci c'est que qd je veux executer la requete il me met nue erreur(*) comme quoii la requetes est une requete de selection ,comment SVP executer une requete de selection:
chSQL = "SELECT * FROM conso2 Where conso2.code_famille=02 ;"
qdf = dbsBase.CreateQueryDef("NouvelleRequete", chSQL)
'On donne un nom a notre requete
stDocName = "NouvelleRequete"
'On execute la requete
DoCmd.OpenQuery stDocName, acNormal, acEdit(*)
Salut,
Ne serait-ce pas ?
chSQL = "SELECT * FROM conso2 Where conso2.code_famille=" & """" & "02" & """" & " ;"
Lupin
Ne serait-ce pas ?
chSQL = "SELECT * FROM conso2 Where conso2.code_famille=" & """" & "02" & """" & " ;"
Lupin
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
merci,
comment faire pour importer un fichier csv (separateur ,) sous access VB SVP.
merci d'avance.
comment faire pour importer un fichier csv (separateur ,) sous access VB SVP.
merci d'avance.
Ca c'est du code vb pour charger des tables à partir de fichier texte de la forme suivante :
champ1;champ2;chanmps3;champs4
champ1a;champ2a;chanmps3a;champs4a
champ1b;champ2b;chanmps3b;champs4b
...
...
...
...
champ1;champ2;chanmps3;champs4
champ1a;champ2a;chanmps3a;champs4a
champ1b;champ2b;chanmps3b;champs4b
...
...
...
...
'Procédure chargemement charge les données dans les tables correspondantes
'Pas de paramètres
Public Sub chargement()
'Déclaration des variables chaînes de caractères
Dim fichier_import As String
Dim fichier_table As String
Dim msg_erreur As String
Dim g As String
Dim c As String
Dim s As String
Dim l As String
'Déclaration d'un entier
Dim choix As Integer
'Déclaration des recordsets
Dim rst As DAO.Recordset
Dim rst_g As DAO.Recordset
Dim rst_c As DAO.Recordset
Dim rst_l As DAO.Recordset
Dim rst_s As DAO.Recordset
Dim rst_gest As DAO.Recordset
Dim rst_cpt As DAO.Recordset
Dim rst_lieu As DAO.Recordset
Dim rst_serie As DAO.Recordset
'En cas d'erreur on va à l'étiquette Gestion_Erreur
On Error GoTo Gestion_Erreur
'Initialisation des chaines de caractères
g = "SELECT * FROM Tables WHERE Code_table='g'"
s = "SELECT * FROM Tables WHERE Code_table='s'"
c = "SELECT * FROM Tables WHERE Code_table='c'"
l = "SELECT * FROM Tables WHERE Code_table='l'"
'On demande à l'utilisateur si il veut vraiment charger les tables
choix = MsgBox("Voulez vous charger les tables?", vbYesNo + vbQuestion, "Demande chargement")
'Si non
If choix = vbNo Then
'Affichage d'un message pour lui dire que le chargemement a été annulé
MsgBox "Chargement annulé", vbInformation, "Arrêt"
'On sort de la procédure
Exit Sub
Else 'Si il confirme le chargemement
'On active le sablier
DoCmd.Hourglass True
'On ouvre la fenêtre Etat
DoCmd.OpenForm "Etat"
'Affichage de l'état d'avancement
Call Forms("Etat").Progress("IMPORTATION", "Consultation de la table PARAMETRES")
'Boucle de temporisation pour la lecture du message
For i = 1 To 5000000
Next i
'Si la table paramètre n'est pas renseigné
'On prévient l'utilisateur et on va à l'étiquette Exit_chargemement
If parametre("chemin_fichier") = "Non renseigné" Then
msg_erreur = "Chargement abandonné. Répertoire de travail non renseigné dans la table des paramètres."
MsgBox msg_erreur, vbOKOnly + vbCritical + vbDefaultButton1, "Importation"
GoTo Exit_Chargement
End If
'On ferme la fenêtre état
DoCmd.Close acForm, "Etat"
'On appelle la procédure purge
Call purge
'On ouvre la fenêtre Etat
DoCmd.OpenForm "Etat"
'Affichage de l'état d'avancement
Call Forms("Etat").Progress("CHARGEMENT", "Chargement des données dans la table IMMOBILISATION")
'Boucle de temporisation pour la lecture du message
For i = 1 To 5000000
Next i
'On importe le fichier immobilisation.txt selon les spécifications d'importations
fichier_import = parametre("chemin_fichier") & "immobilisation.txt"
DoCmd.TransferText acImportDelim, "Spécification d'importation", "Immobilisation", fichier_import, False
'Affichage de l'état d'avancement
Call Forms("Etat").Progress("CHARGEMENT", "Chargement des données dans les tables correspondantes")
'Boucle de temporisation pour la lecture du message
For i = 1 To 5000000
Next i
'On importe le fichier tables.txt selon les spécifications d'importation
fichier_table = parametre("chemin_fichier") & "tables.txt"
DoCmd.TransferText acImportDelim, "Tables Spécification d'importation", "Tables", fichier_table, False
'Initialisation de tous les recordsets
Set rst_gest = CurrentDb.OpenRecordset("Gestion")
Set rst_cpt = CurrentDb.OpenRecordset("Compte")
Set rst_lieu = CurrentDb.OpenRecordset("Lieu utilisation")
Set rst_serie = CurrentDb.OpenRecordset("Série Articles")
Set rst_c = CurrentDb.OpenRecordset(c, dbOpenDynaset)
Set rst_g = CurrentDb.OpenRecordset(g, dbOpenDynaset)
Set rst_l = CurrentDb.OpenRecordset(l, dbOpenDynaset)
Set rst_s = CurrentDb.OpenRecordset(s, dbOpenDynaset)
'On répartit les données de la table Tables dans la table gestion
'Lorsque le code_table='g'
Do Until rst_g.EOF
rst_gest.AddNew
rst_gest("Code_gestion_achat") = rst_g("Champ1")
rst_gest("Code_gestion_utilisatrice") = rst_g("Champ2")
rst_gest("Libellé") = rst_g("Champ3")
rst_gest("Code_table") = rst_g("Code_table")
rst_gest.Update
rst_g.MoveNext
Loop
'Fermeture des recordset utilisés
rst_g.Close
rst_gest.Close
'On répartit les données de la table Tables dans la table compte
'Lorsque le code_table='c'
Do Until rst_c.EOF
rst_cpt.AddNew
rst_cpt("N°Compte") = rst_c("Champ1")
rst_cpt("Libellé") = rst_c("Champ2")
rst_cpt("Code_table") = rst_c("Code_table")
rst_cpt.Update
rst_c.MoveNext
Loop
'Fermeture des recordsets utilisés
rst_c.Close
rst_cpt.Close
'On répartit les données de la table Tables dans la table lieu_utilisation
'Lorsque le code_table='l'
Do Until rst_l.EOF
rst_lieu.AddNew
rst_lieu("Code_lieu_utilisation") = rst_l("Champ1")
rst_lieu("Libellé") = rst_l("Champ2")
rst_lieu("Code_table") = rst_l("Code_table")
rst_lieu.Update
rst_l.MoveNext
Loop
'Fermeture des recordsets utilisés
rst_l.Close
rst_lieu.Close
'On répartit les données de la table Tables dans la table lsérie
'Lorsque le code_table='s'
Do Until rst_s.EOF
rst_serie.AddNew
rst_serie("Code_série_articles") = rst_s("Champ1")
rst_serie("Libellé") = rst_s("Champ2")
rst_serie("Code_table") = rst_s("Code_table")
rst_serie.Update
rst_s.MoveNext
Loop
'Fermeture des recordsets utilisés
rst_s.Close
rst_serie.Close
'On ouvre la table immobilisation
Set rst = CurrentDb.OpenRecordset("Immobilisation")
If Not rst.EOF Then
rst.MoveFirst
Do Until rst.EOF
rst.Edit
'On modifie le Montant_achat et le Montant_reprise_enregistrement01 pour les avoir en €
rst("Montant_achat") = rst("Montant_achat") / 100
rst("Montant_reprise_enregistrement01") = rst("Montant_reprise_enregistrement01") / 100
rst.Update
rst.MoveNext
Loop
End If
'On désactive le sablier
DoCmd.Hourglass False
'on ferme la fenêtre Etat
DoCmd.Close acForm, "Etat"
'On affiche un message pour prévenir que l'opération s'est déroulée corrrectement
MsgBox "Chargement terminé", vbInformation, "Chargement réussi"
End If
Exit Sub
'Etiquette de sortie du chargement
Exit_Chargement:
'On désactive le sablier
DoCmd.Hourglass False
'On ferme la fenêtre Etat
DoCmd.Close acForm, "Etat"
'On affiche un message d'erreur
MsgBox "Problème lors du chargement", vbCritical, "Erreur"
'On sort de la procédure
Exit Sub
'Etiquette de gestion des erreurs
Gestion_Erreur:
'Selon le numéro d'erreur on affiche le message approprié et on va
'à l'étiquette Exit_chargement
Select Case Err
Case 3011
msg_erreur = "Importation abandonnée. Fichier " & fichier_import & " non trouvé."
MsgBox msg_erreur, vbOKOnly + vbCritical + vbDefaultButton1, "Chargement"
Resume Exit_Chargement
Case 3044
msg_erreur = "La disquette n'est pas insérée ou le chemin " & lfichier_import & " n'est pas valide."
MsgBox msg_erreur, vbOKOnly + vbCritical + vbDefaultButton1, "Chargement"
Resume Exit_Chargement
Case Else
MsgBox "Erreur n° " & Err & " : " & Err.Description
Resume Exit_Chargement
End Select
End Sub