Import de données depuis un tableau excel avec formulaire et une condition [Résolu/Fermé]

Signaler
Messages postés
5
Date d'inscription
lundi 30 mars 2020
Statut
Membre
Dernière intervention
22 mars 2021
-
Messages postés
5
Date d'inscription
lundi 30 mars 2020
Statut
Membre
Dernière intervention
22 mars 2021
-
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

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

3 réponses

Messages postés
16049
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 juin 2021
867
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:
dim nProjektnummer as long
nProjektnummer= vProjektnummer 
Zaehler = DCount("*", "Projektlist", "[Projektnummer]=" + cstr(nProjektnummer) )
Messages postés
5
Date d'inscription
lundi 30 mars 2020
Statut
Membre
Dernière intervention
22 mars 2021

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
Messages postés
16049
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 juin 2021
867
as-tu la bonne valeur dans vProjektnummer?
alors:
Zaehler = DCount("*", "Projektlist", "[Projektnummer]='" + vProjektnummer + "'" ) )
Messages postés
5
Date d'inscription
lundi 30 mars 2020
Statut
Membre
Dernière intervention
22 mars 2021

Ca marche.

Merci pour ton aide! Ca fesait deux jour que je cherchais.