Import de données depuis un tableau excel avec formulaire et une condition
Résolu
dje_90
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
dje_90 Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
dje_90 Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j´essaye de programmer un ERP avec une base de donnée Access.
J´ai 2 table: "Stueckliste"(liste de pièces) et "Projektlist" (liste de projet)
Pour importer des données dans ma table "Stueckliste" (liste de pièces), j´ai créer un formulaire avec lequel je recherche un fichier excel, avant d´importer les données.
Jusqu´ici tout va bien. Mais j´aimerais maintenant vérifier que les données que j´importe contiennent un n° de projet existant dans "Projektlist". Et je n´arrive pas à faire ce controle.
j´ai essayé plusieur syntaxe, mais sans succès pour :Zaehler = DCount("*", "Projektlist", "[Projektnummer]='vProjektnummer'")
Je vous copie ci-dessous mon code, merci d´avance pour votre aide
j´essaye de programmer un ERP avec une base de donnée Access.
J´ai 2 table: "Stueckliste"(liste de pièces) et "Projektlist" (liste de projet)
Pour importer des données dans ma table "Stueckliste" (liste de pièces), j´ai créer un formulaire avec lequel je recherche un fichier excel, avant d´importer les données.
Jusqu´ici tout va bien. Mais j´aimerais maintenant vérifier que les données que j´importe contiennent un n° de projet existant dans "Projektlist". Et je n´arrive pas à faire ce controle.
j´ai essayé plusieur syntaxe, mais sans succès pour :Zaehler = DCount("*", "Projektlist", "[Projektnummer]='vProjektnummer'")
Je vous copie ci-dessous mon code, merci d´avance pour votre aide
Private Sub btn_import_Click() Dim ChaineSQL As String Dim vProjektnummer As String Dim Zaehler As String Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook vProjektnummer = 0 Zaehler = 0 Set xlApp = CreateObject("Excel.Application") xlApp.Visible = True xlApp.Workbooks.Open Me.txt_path, True, False vProjektnummer = Worksheets("Tabelle1").Range("E2").Value Zaehler = DCount("*", "Projektlist", "[Projektnummer]='vProjektnummer'") If Zaeler > 0 Then 'Import from file in Text.feld die Daten in "Stueckliste" DoCmd.TransferSpreadsheet acImport, 8, "Stueckliste", Me.txt_path, True 'Delete empty Lines ChaineSQL = "delete from Stueckliste where [Teilenummer] is null" DoCmd.RunSQL ChaineSQL Else MsgBox "Projektnummer nicht in Projektliste" End If End Sub
A voir également:
- Extraire des données d'un tableau excel vers un autre tableau
- Tableau word - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
- Imprimer un tableau excel - Guide
- Tableau croisé dynamique - Guide
3 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, merci d'utiliser les balises de code quand tu postes du code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
que veux-tu faire? avant d'importer les données, veux-tu examiner le contenu du fichier Excel? simplement vérifier que la cellule E2 est présente dans la table?
as-tu la bonne valeur dans vProjektnummer?
quel est le type du champ Projektnummer? un entier?
peut-être:
que veux-tu faire? avant d'importer les données, veux-tu examiner le contenu du fichier Excel? simplement vérifier que la cellule E2 est présente dans la table?
as-tu la bonne valeur dans vProjektnummer?
quel est le type du champ Projektnummer? un entier?
peut-être:
dim nProjektnummer as long nProjektnummer= vProjektnummer Zaehler = DCount("*", "Projektlist", "[Projektnummer]=" + cstr(nProjektnummer) )
Bonjour,
merci pour ta réponse.
Je veux vérifier que le texte dans la cellule E2 est présent dans la table.
J´ai testé, ca fonctionne si le champs "Projektnummer" est un nombre. Dans mon cas, c´est un texte court => Conflit de donnée
J´ai vérifié dans excel, le cellule est au format texte. Du coup je suis de nouveau bloqué.
Exemple de donnée: "1111"; "1111_RNK_1"
Merci pour ton aide
merci pour ta réponse.
Je veux vérifier que le texte dans la cellule E2 est présent dans la table.
J´ai testé, ca fonctionne si le champs "Projektnummer" est un nombre. Dans mon cas, c´est un texte court => Conflit de donnée
J´ai vérifié dans excel, le cellule est au format texte. Du coup je suis de nouveau bloqué.
Exemple de donnée: "1111"; "1111_RNK_1"
Merci pour ton aide