Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/08/2011, 19h51   #1
Nouveau Membre du Club
 
Étudiant
Inscription : juin 2009
Messages : 88
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2009
Messages : 88
Points : 26
Points : 26
Par défaut clé primaire dans boucle

Bonjour,

A partir des valeurs saisie dans un formulaire, j'aimerai pouvoir automatiser la saisie des mêmes informations avec juste la date qui change et bien sur ma clé primaire.
je m'explique : je créé des intervention qui doivent se répéter toutes les semaines a la même heure.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Sub Commande68_Click()
 
Dim i As Integer, j As Integer
DoCmd.SetWarnings False 'n'affiche pas message "ajout ligne"
j = 0
For i = 0 To 14 Step 7 '371
    cle = Me.Texte69 + j
    champs1 = Me.Modifiable38.Value
    champs2 = Me.Texte40.Value + i 'date
    champs3 = Me.Texte42
    champs4 = Me.Texte44
    champs5 = Me.Modifiable50
    champs6 = Me.Modifiable56
 
    DoCmd.RunSQL "INSERT INTO INTERVENTION VALUES (   '" & cle & "', '" & champs1 & "' , '" & champs2 & "', '" & champs3 & "','" & champs4 & "','" & champs5 & "','" & champs6 & "')"
    j = j + 1
Next i
 
End Sub
Voila mon code qui marche mais à chaque fois que je quitte le formulaire il me dit que je ne peux pas enregistrer et que je risque de créer des doublons. Pourtant j'ai pas de doublons et ça enregistre...

Quelqu'un a une idée ?

Merci pour tout coup de pouce !
polo31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2011, 09h22   #2
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 622
Points : 11 622
Bonjour,

Le champ "Cle" est en NuméroAuto ?

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2011, 09h53   #3
Nouveau Membre du Club
 
Étudiant
Inscription : juin 2009
Messages : 88
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2009
Messages : 88
Points : 26
Points : 26
Bonjour loufab,

merci d'avoir pris le temps de répondre.

Oui et je pense que c'est de la que viens le problème. mais comme c'est la clé primaire, et que pour les nouvelles saisies il va chercher automatiquement sa dernière valeur, je ne sais pas comment contourner le problème.

Au fait je disais que ça marchais quand même. Ce n'est plus vrai. ça a fonctionné plusieurs fois mais maintenant ça me met l'erreur sur la ligne :

Code :
DoCmd.RunSQL "INSERT INTO INTERVENTION VALUES (   '" & cle & "', '" & champs1 & "' , '" & champs2 & "', '" & champs3 & "','" & champs4 & "','" & champs5 & "','" & champs6 & "')"
Cdlt
polo31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2011, 12h03   #4
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 622
Points : 11 622
Bonjour,

Pas d'assignation sur un numéroauto. Ou alors traite l'erreur.

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2011, 12h11   #5
Nouveau Membre du Club
 
Étudiant
Inscription : juin 2009
Messages : 88
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2009
Messages : 88
Points : 26
Points : 26
Je ne suis pas très doué en VBA...

Si je ne peux pas assigner sur des numéro auto, ça veut dire qu'il est impossible de créer plusieurs enregistrement identiques a partir d'une seule saisie et avec juste la clé (numéro auto) et une date qui changent ?

Merci !

Cdlt
polo31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2011, 14h16   #6
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 622
Points : 11 622
Tu peux créer plusieurs enregistrements indentiques mais à clef unique, la clef c'est lui qui s'en charge pas toi. Sinon tu utilises un Entier Long et tu te charge de créer toi même le numéro.

NuméroAuto c'est un numéro incrémental (ou aléatoire) donc jamais le même.

Cela n'a rien à voir avec VBA, ici c'est de la base de données pure.
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h45.


 
 
 
 
Partenaires

Hébergement Web