Champs access
zehor
Messages postés
39
Statut
Membre
-
zehor Messages postés 39 Statut Membre -
zehor Messages postés 39 Statut Membre -
Bonjour,
actuellement en stage de fin d'année, je souhaites resoudre un probleme qui me taquine sous access depuis quelques jours.
en effet j'ai une base de données dans laquelle il y a une seulement une seule table nommée patient. dans cette table il y a 6 champs : IPP(numero),Nom,Prenom,Naissance,Sexe et Nomjeunefile.
Je souhaites que quant je remplir le champs Nom et Prenom cela me remplis automatiquement les autres champs.
Merci de votre aide
Zehor
actuellement en stage de fin d'année, je souhaites resoudre un probleme qui me taquine sous access depuis quelques jours.
en effet j'ai une base de données dans laquelle il y a une seulement une seule table nommée patient. dans cette table il y a 6 champs : IPP(numero),Nom,Prenom,Naissance,Sexe et Nomjeunefile.
Je souhaites que quant je remplir le champs Nom et Prenom cela me remplis automatiquement les autres champs.
Merci de votre aide
Zehor
10 réponses
salut
ce n'est pas possible qu'access te remplisse toutes les cases toutes seul si tu n'as qu'une seule table.
c'est comme poser une question a une personne qui ne connait pas la réponse.
pour que les info se remplissent automatiquement il faut plusieurs tables qui on des liens entre elles......
ce n'est pas possible qu'access te remplisse toutes les cases toutes seul si tu n'as qu'une seule table.
c'est comme poser une question a une personne qui ne connait pas la réponse.
pour que les info se remplissent automatiquement il faut plusieurs tables qui on des liens entre elles......
bonjour,
enfait j'ai un bouton valider et quant je remplis moi meme Nom et Prénom je veux que quant je clique sur le bouton valide les autres champs ce remplissent automatiquement
j'ai une requete (integrer dans procedure evenmentielle du bouton Valider)
qui je pense pourra faire l'affaire.
le probleme c'est que la requete me permet de remplir seulement deux champs pas tout
voici la requete:
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim sql As String
Dim N As String
Dim P As String
Dim Nom As String
Dim Prenom As String
Dim IPP As Integer
Dim Naissance As Date
Dim Sexe As String
Dim Nomjf As String
Set db = CurrentDb
N = Forms!FORM_PATIENT!Nom
P = Forms!FORM_PATIENT!Prénom
sql = "SELECT PATIENT.IPP,PATIENT.Naissance,PATIENT.Sexe,PATIENT.Nomjeunefille FROM PATIENT where Nom=" & Chr(34) & N & Chr(34) & "AND Prénom=" & Chr(34) & P & Chr(34)
Set rs = db.OpenRecordset(sql)
rs.MoveFirst
While Not rs.EOF
IPP = rs![IPP]
Naissance = rs![Naissance]
Sexe = rs![Sexe]
Nomjf = rs![Nomjeunefille]
rs.MoveNext
Wend
Forms!FORM_PATIENT!IPP = IPP
Forms!FORM_PATIENT!Naissance = Naissance
Forms!FORM_PATIENT!Sexe = Sexe
Forms!FORM_PATIENT!Nomjeunefille = Nomjeunefille
si tu peut m'en dire un peu plus
enfait j'ai un bouton valider et quant je remplis moi meme Nom et Prénom je veux que quant je clique sur le bouton valide les autres champs ce remplissent automatiquement
j'ai une requete (integrer dans procedure evenmentielle du bouton Valider)
qui je pense pourra faire l'affaire.
le probleme c'est que la requete me permet de remplir seulement deux champs pas tout
voici la requete:
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim sql As String
Dim N As String
Dim P As String
Dim Nom As String
Dim Prenom As String
Dim IPP As Integer
Dim Naissance As Date
Dim Sexe As String
Dim Nomjf As String
Set db = CurrentDb
N = Forms!FORM_PATIENT!Nom
P = Forms!FORM_PATIENT!Prénom
sql = "SELECT PATIENT.IPP,PATIENT.Naissance,PATIENT.Sexe,PATIENT.Nomjeunefille FROM PATIENT where Nom=" & Chr(34) & N & Chr(34) & "AND Prénom=" & Chr(34) & P & Chr(34)
Set rs = db.OpenRecordset(sql)
rs.MoveFirst
While Not rs.EOF
IPP = rs![IPP]
Naissance = rs![Naissance]
Sexe = rs![Sexe]
Nomjf = rs![Nomjeunefille]
rs.MoveNext
Wend
Forms!FORM_PATIENT!IPP = IPP
Forms!FORM_PATIENT!Naissance = Naissance
Forms!FORM_PATIENT!Sexe = Sexe
Forms!FORM_PATIENT!Nomjeunefille = Nomjeunefille
si tu peut m'en dire un peu plus
Il y a t il une erreur de code quand tu execute la procédure, as tu vérifier que ta requete marchaiat?
bonjour kindia,
donc j'ai bien tester la requete elle me renvoie rien sur tous les champs.
Cependant avec le rs.MoveFirst
il me renvoit une erreur "aucun enregistrement en cours".
sachant que quant je le mais en commentaire il me remplit seulement le champs IPP et Naissance pourquoi pas les autres?
je sais pas sa fait 2 semaines que je suis decu
si vous pourriez maider kindia
donc j'ai bien tester la requete elle me renvoie rien sur tous les champs.
Cependant avec le rs.MoveFirst
il me renvoit une erreur "aucun enregistrement en cours".
sachant que quant je le mais en commentaire il me remplit seulement le champs IPP et Naissance pourquoi pas les autres?
je sais pas sa fait 2 semaines que je suis decu
si vous pourriez maider kindia
merci kindia
les testes de requetes que j'effectue ce font avec des noms de champs reels.
voici ma requete:
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim sql As String
Dim N As String
Dim P As String
Dim Nom As String
Dim Prenom As String
Dim IPP As Integer
Dim Naissance As Date
Dim Sexe As String
Dim Nomjf As String
Set db = CurrentDb
N = Forms!FORM_PATIENT!Nom
P = Forms!FORM_PATIENT!Prénom
sql = "SELECT * FROM PATIENT where Nom=" & Chr(34) & N & Chr(34) & "AND Prénom=" & Chr(34) & P & Chr(34)
Set rs = db.OpenRecordset(sql)
'rs.MoveFirst
While Not rs.EOF
IPP = rs![IPP]
Naissance = rs![Naissance]
Sexe = rs![Sexe]
Nomjf = rs![Nomjeunefille]
rs.MoveNext
Wend
Forms!FORM_PATIENT!IPP = IPP
Forms!FORM_PATIENT!Naissance = Naissance
Forms!FORM_PATIENT!Sexe = Sexe
Forms!FORM_PATIENT!Nomjeunefille = Nomjeunefille
si tu peu y voir un peu clair
la programmation c'est comme une dictée c'est avec son prochain qu'on se corrige
les testes de requetes que j'effectue ce font avec des noms de champs reels.
voici ma requete:
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim sql As String
Dim N As String
Dim P As String
Dim Nom As String
Dim Prenom As String
Dim IPP As Integer
Dim Naissance As Date
Dim Sexe As String
Dim Nomjf As String
Set db = CurrentDb
N = Forms!FORM_PATIENT!Nom
P = Forms!FORM_PATIENT!Prénom
sql = "SELECT * FROM PATIENT where Nom=" & Chr(34) & N & Chr(34) & "AND Prénom=" & Chr(34) & P & Chr(34)
Set rs = db.OpenRecordset(sql)
'rs.MoveFirst
While Not rs.EOF
IPP = rs![IPP]
Naissance = rs![Naissance]
Sexe = rs![Sexe]
Nomjf = rs![Nomjeunefille]
rs.MoveNext
Wend
Forms!FORM_PATIENT!IPP = IPP
Forms!FORM_PATIENT!Naissance = Naissance
Forms!FORM_PATIENT!Sexe = Sexe
Forms!FORM_PATIENT!Nomjeunefille = Nomjeunefille
si tu peu y voir un peu clair
la programmation c'est comme une dictée c'est avec son prochain qu'on se corrige
teste la requete avec des nom et prenom qui existe dans la table, si ça marche pas verifie l'orthographe des champ et ceux de la requete il doivent être identique, je vais tester le code sur une de meme base, donne mio 5 minutes je reviens
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
re
j'ai tester le code, je l'ai améliorer notament en mettant des meassage d'erreur si les champ non et prenom ne sont pas remplis et si l'association NOM+Prenom n'existe pas dans la table, essaie avec ça, ça marche sur ma base, si tu as une erreur dis moi le message qui apprait:
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim rst As DAO.Recordset
Dim sql As String
Dim query As String
Dim N As String
Dim P As String
Dim Nom As String
Dim PRENOM As String
Dim IPP As Integer
Dim Naissance As Date
Dim Sexe As String
Dim NomJf As String
Dim t As Integer
Set db = CurrentDb
'Verifier que nom et prenom soit saisi
If IsNull(Forms!Formulaire1!Nom.Value) Then
MsgBox ("Veuillez saisir un nom")
Else
If IsNull(Forms!Formulaire1!PRENOM) Then
MsgBox ("Veuillez saisir un prenom")
Else
N = Forms!Formulaire1!Nom
P = Forms!Formulaire1!PRENOM
'Verifier que l'enregistrement existe
query = "SELECT count (IPP) FROM Table1 where Nom=" & Chr(34) & N & Chr(34) & "AND Prénom=" & Chr(34) & P & Chr(34)
Set rsd = db.OpenRecordset(query)
t = rsd.Fields(0).Value
If t <= 0 Then
MsgBox ("Cette association de nom et prenom n'existe pas")
Else
sql = "SELECT Table1.IPP,Table1.Naissance,Table1.Sexe,Table1.Nomjf FROM Table1 where Nom=" & Chr(34) & N & Chr(34) & "AND Prénom=" & Chr(34) & P & Chr(34)
Set rs = db.OpenRecordset(sql)
rs.MoveFirst
While Not rs.EOF
IPP = rs![IPP]
Naissance = rs![Naissance]
Sexe = rs![Sexe]
If Not IsNull(rs!NomJf.Value) Then
NomJf = rs![NomJf]
Else: NomJf = ""
End If
rs.MoveNext
Wend
Forms!Formulaire1!IPP = IPP
Forms!Formulaire1!Naissance = Naissance
Forms!Formulaire1!Sexe = Sexe
Forms!Formulaire1!NomJf = NomJf
End If
End If
End If
End Sub
j'ai tester le code, je l'ai améliorer notament en mettant des meassage d'erreur si les champ non et prenom ne sont pas remplis et si l'association NOM+Prenom n'existe pas dans la table, essaie avec ça, ça marche sur ma base, si tu as une erreur dis moi le message qui apprait:
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim rst As DAO.Recordset
Dim sql As String
Dim query As String
Dim N As String
Dim P As String
Dim Nom As String
Dim PRENOM As String
Dim IPP As Integer
Dim Naissance As Date
Dim Sexe As String
Dim NomJf As String
Dim t As Integer
Set db = CurrentDb
'Verifier que nom et prenom soit saisi
If IsNull(Forms!Formulaire1!Nom.Value) Then
MsgBox ("Veuillez saisir un nom")
Else
If IsNull(Forms!Formulaire1!PRENOM) Then
MsgBox ("Veuillez saisir un prenom")
Else
N = Forms!Formulaire1!Nom
P = Forms!Formulaire1!PRENOM
'Verifier que l'enregistrement existe
query = "SELECT count (IPP) FROM Table1 where Nom=" & Chr(34) & N & Chr(34) & "AND Prénom=" & Chr(34) & P & Chr(34)
Set rsd = db.OpenRecordset(query)
t = rsd.Fields(0).Value
If t <= 0 Then
MsgBox ("Cette association de nom et prenom n'existe pas")
Else
sql = "SELECT Table1.IPP,Table1.Naissance,Table1.Sexe,Table1.Nomjf FROM Table1 where Nom=" & Chr(34) & N & Chr(34) & "AND Prénom=" & Chr(34) & P & Chr(34)
Set rs = db.OpenRecordset(sql)
rs.MoveFirst
While Not rs.EOF
IPP = rs![IPP]
Naissance = rs![Naissance]
Sexe = rs![Sexe]
If Not IsNull(rs!NomJf.Value) Then
NomJf = rs![NomJf]
Else: NomJf = ""
End If
rs.MoveNext
Wend
Forms!Formulaire1!IPP = IPP
Forms!Formulaire1!Naissance = Naissance
Forms!Formulaire1!Sexe = Sexe
Forms!Formulaire1!NomJf = NomJf
End If
End If
End If
End Sub
Bonjour à tout le monde,
Excusez moi d'intervenir en pleine discussion... je suppose qu'une clé primaire à été déterminée (IPP?)
sans utiliser VBA:
Pour obtenir les renseignements sur une personne à partir du nom et du prénom:
je crée une liste déroulante dans le pied de formulaire, l'assistant contrôles étant enclenché
je choisis l'option "rechercher un enrgistrement.... sur la valeur sélectionnée..."
la fen^tre suiovante, je sélectionne le nom et le prénom et
terminer
temps pour éxécuter cette manip: 10 minutes maxi
Tu sélectionnes dans la liste déroulante le nom et prénom voulu et tu as tes renseignements complets
Ci joint tite démo (les noms et prénoms sont fictifs)
https://www.cjoint.com/?hCmxarWHue
En espèrant de pas être à coté de la plaque (je sais bien faire)
Michel
Excusez moi d'intervenir en pleine discussion... je suppose qu'une clé primaire à été déterminée (IPP?)
sans utiliser VBA:
Pour obtenir les renseignements sur une personne à partir du nom et du prénom:
je crée une liste déroulante dans le pied de formulaire, l'assistant contrôles étant enclenché
je choisis l'option "rechercher un enrgistrement.... sur la valeur sélectionnée..."
la fen^tre suiovante, je sélectionne le nom et le prénom et
terminer
temps pour éxécuter cette manip: 10 minutes maxi
Tu sélectionnes dans la liste déroulante le nom et prénom voulu et tu as tes renseignements complets
Ci joint tite démo (les noms et prénoms sont fictifs)
https://www.cjoint.com/?hCmxarWHue
En espèrant de pas être à coté de la plaque (je sais bien faire)
Michel
c'est qu'il ne le trouve pas dans la table si tu as ce message, peux tu m'envoyer ton adresse mail, pour que je t'envoys un mail