Access 2010 : requête qui ignore des données
Résolu/Fermé
Phoenellion
Messages postés
116
Date d'inscription
dimanche 14 septembre 2008
Statut
Membre
Dernière intervention
30 août 2012
-
Modifié par Phoenellion le 13/02/2012 à 06:12
Phoenellion Messages postés 116 Date d'inscription dimanche 14 septembre 2008 Statut Membre Dernière intervention 30 août 2012 - 20 févr. 2012 à 21:46
Phoenellion Messages postés 116 Date d'inscription dimanche 14 septembre 2008 Statut Membre Dernière intervention 30 août 2012 - 20 févr. 2012 à 21:46
A voir également:
- Access 2010 : requête qui ignore des données
- Clé activation office 2010 gratuit - Télécharger - Sécurité
- Telecharger word 2010 - Télécharger - Traitement de texte
- Access appdata - Guide
- Visual basic 2010 express - Télécharger - Langages
- Exemple base de données access à télécharger gratuit ✓ - Forum Logiciels
3 réponses
Phoenellion
Messages postés
116
Date d'inscription
dimanche 14 septembre 2008
Statut
Membre
Dernière intervention
30 août 2012
33
13 févr. 2012 à 07:31
13 févr. 2012 à 07:31
Petit détail qui vient de m'apparaître :
déjà voici le code complet utilisé pour ma requête :
dans la table détail, il y a en fait le détail de toutes les ventes enregistrée. j'ai donc plusieurs fois le même numéro de facture qui apparait, je me suis laissé dire que c'est peu être la cause de mon malheure, même si je ne vois pas comment.
déjà voici le code complet utilisé pour ma requête :
Sub Compil_DetFact() Chemin_Gestock = "C:\Users\NHBC\Documents\Travaux Gestion Stocks\Compilations tables\AcImport\" For Compteur = 1 To 10 Store = Choose(Compteur, "DC", "BD", "SDN", "DT", "KD", "SDN-II", "MB", "MD", "PBT", "PD") Chemin_DBF = "D:\DATA\XLPM2\" & Store & "\" 'Import Detail et Facture dans Access DoCmd.TransferSpreadsheet acImport, , "Detail", Chemin_Gestock & "Detail " & Store & ".xlsx", 1 DoCmd.TransferSpreadsheet acImport, , "Facture", Chemin_Gestock & "Facture " & Store & ".xlsx", 1 ' Déclaration Clé Primaire Facture Prime_Key = "CREATE UNIQUE INDEX MyIndex ON Facture (NUMFACT) With Primary" DoCmd.RunSQL Prime_Key ' Envoi Requête pour DetFact My_Querry = "SELECT Detail.NART, Detail.QTE, Facture.TYPFACT, Facture.DATFACT INTO DetFact " & _ "FROM Detail INNER JOIN Facture ON Detail.NUMFACT = Facture.NUMFACT;" DoCmd.RunSQL My_Querry ' Extraction DetFact vers Excel DoCmd.TransferSpreadsheet acExport, , "DetFact", Chemin_Gestock & "Base DetFact " & Store & ".xlsx", 1 ' Supression des tables DoCmd.RunSQL "drop table Detail" DoCmd.RunSQL "drop table Facture" DoCmd.RunSQL "drop table DetFact" Next Compteur End Sub
dans la table détail, il y a en fait le détail de toutes les ventes enregistrée. j'ai donc plusieurs fois le même numéro de facture qui apparait, je me suis laissé dire que c'est peu être la cause de mon malheure, même si je ne vois pas comment.
Phoenellion
Messages postés
116
Date d'inscription
dimanche 14 septembre 2008
Statut
Membre
Dernière intervention
30 août 2012
33
Modifié par Phoenellion le 14/02/2012 à 23:56
Modifié par Phoenellion le 14/02/2012 à 23:56
Re,
J'ai beau retourner le problème dans tous les sens, toujours pas d'améliorations.
Etant persuadé que je me plante dans mes requêtes, j'ai creusé un peu le domaine donc j'ai quelque peu modifié le programme comme suit :
je me rends compte maintenant qu'à l'importation, la colonne de date (DATFACT) est considérée comme du texte, alors que dans le fichiers excel source, c'est bien une colonne date.
C'est peut être la base du problème ?
De plus, j'aimerais conserver les lignes de la table détail qui n'ont pas de correspondance avec la table facture.
Je retourne bucher en attendant qu'un cerveau plus fécond que le mien ne passe par là.
@+
Phoe
J'ai beau retourner le problème dans tous les sens, toujours pas d'améliorations.
Etant persuadé que je me plante dans mes requêtes, j'ai creusé un peu le domaine donc j'ai quelque peu modifié le programme comme suit :
Sub Compil_DetFact() Set xlApp = CreateObject("Excel.Application") xlApp.ScreenUpdating = False Chemin_Gestock = "C:\Users\NHBC\Documents\Travaux Gestion Stocks\Compilations tables\AcImport\" For Compteur = 1 To 10 Store = Choose(Compteur, "DC", "BD", "SDN", "DT", "KD", "SDN-II", "MB", "MD", "PBT", "PD") Chemin_DBF = "D:\DATA\XLPM2\" & Store & "\" If Store = "BD" Then Tier = 9000 Else: Tier = 9900 End If xlApp.Workbooks.Open FileName:=Chemin_DBF & "detail.dbf" xlApp.ActiveWorkbook.SaveAs FileName:=Chemin_Gestock & "Detail " & Store & ".xlsx" xlApp.ActiveWorkbook.Close xlApp.Workbooks.Open FileName:=Chemin_DBF & "facture.dbf" xlApp.ActiveWorkbook.SaveAs FileName:=Chemin_Gestock & "Facture " & Store & ".xlsx" xlApp.ActiveWorkbook.Close 'Import Detail et Facture dans Access DoCmd.TransferSpreadsheet acImport, , "Detail", Chemin_Gestock & "Detail " & Store & ".xlsx", 1 DoCmd.TransferSpreadsheet acImport, , "Facture", Chemin_Gestock & "Facture " & Store & ".xlsx", 1 ' Requêtes de préparation pour Detail My_Querry = "SELECT detail.NUMFACT, detail.NART, detail.QTE INTO Prépa_Détail " & _ "FROM Detail;" DoCmd.RunSQL My_Querry ' Requêtes de préparation pour Facture My_Querry = "SELECT facture.NUMFACT, facture.TYPFACT, facture.DATFACT INTO Prépa_Facture " & _ "FROM facture " & _ "WHERE (((facture.TYPFACT)=""A"" Or (facture.TYPFACT)=""F"") AND ((facture.TIERS)<=9900)) " & _ "ORDER BY facture.NUMFACT;" DoCmd.RunSQL My_Querry ' Déclaration Clé Primaire Facture Prime_Key = "CREATE UNIQUE INDEX MyIndex ON Prépa_Facture (NUMFACT) With Primary" DoCmd.RunSQL Prime_Key ' Requêtes de consolidation pour DetFact My_Querry = "SELECT detail.NART, detail.QTE, Prépa_Facture.TYPFACT, Prépa_Facture.DATFACT INTO Prépa_DetFact " & _ "FROM detail INNER JOIN Prépa_Facture ON detail.NUMFACT = Prépa_Facture.NUMFACT " & _ "ORDER BY detail.NART, Prépa_Facture.DATFACT DESC;" DoCmd.RunSQL My_Querry ' Extraction DetFact vers Excel DoCmd.TransferSpreadsheet acExport, , "Prépa_DetFact", Chemin_Gestock & "Base DetFact " & Store & ".xlsx", 1 ' Supression fichiers et des tables temporaires Kill Chemin_Gestock & "Detail " & Store & ".xlsx" Kill Chemin_Gestock & "Facture " & Store & ".xlsx" DoCmd.RunSQL "drop table Detail" DoCmd.RunSQL "drop table Facture" DoCmd.RunSQL "drop table Prépa_Détail" DoCmd.RunSQL "drop table Prépa_Facture" DoCmd.RunSQL "drop table Prépa_DetFact" Next Compteur End Sub
je me rends compte maintenant qu'à l'importation, la colonne de date (DATFACT) est considérée comme du texte, alors que dans le fichiers excel source, c'est bien une colonne date.
C'est peut être la base du problème ?
De plus, j'aimerais conserver les lignes de la table détail qui n'ont pas de correspondance avec la table facture.
Je retourne bucher en attendant qu'un cerveau plus fécond que le mien ne passe par là.
@+
Phoe
Phoenellion
Messages postés
116
Date d'inscription
dimanche 14 septembre 2008
Statut
Membre
Dernière intervention
30 août 2012
33
20 févr. 2012 à 21:46
20 févr. 2012 à 21:46
Re bonjour,
je repasse par là juste pour signaler que le code roule parfaitement, après mille et unes vérifications, j'ai fini par douter de la BDD elle même et il s'est avéré qu'elle était corrompue.
Affaire classée !
@+ phoe
je repasse par là juste pour signaler que le code roule parfaitement, après mille et unes vérifications, j'ai fini par douter de la BDD elle même et il s'est avéré qu'elle était corrompue.
Affaire classée !
@+ phoe