Enregistrer les données contenues dans un formulaire excel (text

Fermé
JJBunker Messages postés 7 Date d'inscription mercredi 22 mars 2017 Statut Membre Dernière intervention 30 mars 2017 - 22 mars 2017 à 10:00
 JJBunker - 5 avril 2017 à 12:19
Bonjour,
je suis nouveau dans la Forum et surtout dans VBA/ACCESS/EXCEL.
En fait je cherche à enregistrer des Infos dans un Tableau Access à l'aide d'un formulaire Excel.

Voici mon code, quand je le compile il Affiche nombre d'arguments insuffisants et l'erreur est marquée sur l'avant derniere ligne...J'ai deja tout verifié et changé maintes fois...sans succes...merci de me montrer quoi faire. f1-f5 sont les noms des textboxes dans lesquelles les données seront inscrites.

Mon code



Private Sub savebutton_click()

Dim strSql As String

Dim db As Database
Dim databasepath As String

databasepath = ActiveWorkbook.Path & "\TEST_Rating.accdb"

Set db = DBEngine.Workspaces(0).OpenDatabase(databasepath)

strSql = "INSERT INTO Kunden ('requester', 'Kuerzel_360T', 'KundenID', 'Alpha_CODE_FX_PRO', ' RatingID')" _
& "VALUES (f1, f2, f3, f4, f5);"

db.Execute strSql, dbFailOnError

Unload UserForm2


End Sub

Merci
A voir également:

5 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
24 mars 2017 à 07:19
Bonjour,

pour une partie:
strSql = "INSERT INTO Kunden ('requester', 'Kuerzel_360T', 'KundenID', 'Alpha_CODE_FX_PRO', ' RatingID')" _
& "VALUES ('" & f1 & "','" & f2 & "','" & f3 & "','" & f4 & "','" & f5 & "');"

requester et les autres champs, est-ce des variables ou le nom des champs?
0
Hi f894009,
requester et les autres sont les noms des colonnes dans le Tableau Kunden de la base de donnée dans Access,

f1-f5 sont les noms des textboxes du userform..

ca ne marche tjrs pas.
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
24 mars 2017 à 09:48
Re,

ca ne marche tjrs pas.
Oui, je sais!
Enlevez les ' qui entourent les noms de champ
0
JJBunker > f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024
24 mars 2017 à 09:53
deja fait et tjrs sans success
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > JJBunker
24 mars 2017 à 09:55
Re,

Si vos fichier excel et accdb sont sans donnees confidentielles( ou modifez les), pouvez-vous les mettre a dispo

Pour transmettre un fichier,
Veillez a ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES
il faut passer par un site de pièce jointe tel que cjoint.com

Allez sur ce site : https://www.cjoint.com/
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...
0
merci BCP

http://www.cjoint.com/c/GCyjhGPc1gs

si questions, je suis Dispo
merci
0
Avez vous pu l'ouvrir?

merci
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
24 mars 2017 à 12:16
Re,
Oui. Y avait pas plus long comme nom de fichier?
Il me faut la base!
0
je ne comprends pas trop ce que tu entends par la base..
je vais te donner les deux fichiers qui doivent etre (ouverts )dans le mm Repertoire.
voici leurs liens

http://www.cjoint.com/c/GCylSOSTl4s (pour le doc excel)
http://www.cjoint.com/c/GCylTEOunFs ( pour le doc Access)

comme j'ai dit, il doit avoir le meme Repertoire/ dans le mm dossier

merci
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > JJBunker
24 mars 2017 à 14:14
Re,

jusqu'a preuve du contraire un fichier accdb ou mdb est une base de donnee!
0
JJBunker > f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024
24 mars 2017 à 14:19
hi apparemment je ne t'avais pas compris...
j'espere qúe tu parviens à faire qqch avec..
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > JJBunker
24 mars 2017 à 14:35
Re,

j'espere qúe tu parviens à faire qqch
Si vous me dites dans quelle userform et quelles sont les tetxbox f1-f5 car pour le moment dans le seul evenement Private Sub savebutton_click() dans UF4 y a pas de code et pas de textbox f1-f5. Donc j'attends vos explications
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
JJBunker Messages postés 7 Date d'inscription mercredi 22 mars 2017 Statut Membre Dernière intervention 30 mars 2017
30 mars 2017 à 10:41
MErci
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié le 30 mars 2017 à 12:15
Bonjour,
Ok, je regarde

SUITE:

regardez la difference entre ci-dessous et l'original.
Pas mettre a jour le champ KundenID puisque c'est la cle, sauf si vous voulez quand meme la modifier mais faudra mettre en memoire la valeur de depart

Private Sub Update_Click()

    Dim strSql As String
    Dim db As Database
    Dim databasepath As String
    Dim fieldIsEmpty As Boolean
    fieldIsEmpty = False

    databasepath = ActiveWorkbook.Path & "\TEST_Rating.accdb"
    
    Set db = DBEngine.Workspaces(0).OpenDatabase(databasepath)
    If f1 = "" Or f2 = "" Or f3 = "" Or f4 = "" Or f5 = "" Then
        MsgBox "!!Bitte füllen Sie alle Felder aus!!"
        fieldIsEmpty = True
    Else
        strSql = "UPDATE Kunden SET Requester ='" & f1 & "', RatingID = '" & f3 & _
            "', Kuerzel_360T = '" & f4 & "', Alpha_CODE_FX_PRO = '" & f5 & "' WHERE KundenID =" & CLng(f2) & ";"
        db.Execute strSql, dbFailOnError
        Set db = Nothing
    End If
End Sub
0
JJBunker Messages postés 7 Date d'inscription mercredi 22 mars 2017 Statut Membre Dernière intervention 30 mars 2017 > f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024
30 mars 2017 à 14:02
Merci
super Ca a marché... je vais essayer de chercher le code pour la procedure inverse pour effacer des données avec DELETE...
je ne crois pas que cela devrait etre le cheval de trois (troie) mais de deux.

Merci encore
Je vais poster mon code si j'y arrive ou pas
0
JJBunker Messages postés 7 Date d'inscription mercredi 22 mars 2017 Statut Membre Dernière intervention 30 mars 2017
30 mars 2017 à 14:18
Voici mon code là

Private Sub CommandButton1_Click()

Dim strSql As String
Dim db As Database
Dim databasepath As String

databasepath = ActiveWorkbook.Path & "\TEST_Rating.accdb"

Set db = DBEngine.Workspaces(0).OpenDatabase(databasepath)


strSql = "DELETE * from Kunden WHERE KundenID =" & CLng(f2) & ";"

db.Execute strSql, dbFailOnError

Set db = Nothing

MsgBox "Die eingegebenen Daten wurden gelöscht"

End Sub
0
JJBunker Messages postés 7 Date d'inscription mercredi 22 mars 2017 Statut Membre Dernière intervention 30 mars 2017 > JJBunker Messages postés 7 Date d'inscription mercredi 22 mars 2017 Statut Membre Dernière intervention 30 mars 2017
30 mars 2017 à 14:19
merci encore
f894009
0
JJBunker Messages postés 7 Date d'inscription mercredi 22 mars 2017 Statut Membre Dernière intervention 30 mars 2017
30 mars 2017 à 14:27
Une autre question stp:
je ne voudrais pas que les additions soient arrondies mais les valeurs exactes dans mes textboxs... aurais tu un code pour moi?
je crois que le USERFORM1 contient toutes ces Infos..... si tu clik sur SPT+, tu verras la premiere ligne (SPT) s'ajouter au Tableau d'enbas et les resultats seront changés dans le Tableau gauche.
mais si tu mets des valeurs decimales, elles seront arrondies.

THX
0