OVH Cloud OVH Cloud

Recherche dans une base

6 réponses
Avatar
Patrick
Bonour,

J'ai vraiment un serieux probleme

j'ai un formulaire dans lequel je remplie certaine infos (20 champs)

J'aimerai lorsque je remplie 2 champs et que ces 2 champs existent dejà dans
la base il remplit automatiquement le reste des champs et si je modifie un
des champs j'aimerai qu'il mette à jour ma base lorsque j'appuie sur le
bouton validé.

Une idée ?

Merci

6 réponses

Avatar
michdenis
Bonjour Patrick,

Tu dois préciser ta demande et décrire précisément ton environnement si tu désires obtenir une aide.

Quels sont ces 2 champs ? Où sont-ils situés ? Où est ta base de données ? Comment est-elle structurée ?


Salutations!





"Patrick" a écrit dans le message de news: 436400af$0$456$
Bonour,

J'ai vraiment un serieux probleme

j'ai un formulaire dans lequel je remplie certaine infos (20 champs)

J'aimerai lorsque je remplie 2 champs et que ces 2 champs existent dejà dans
la base il remplit automatiquement le reste des champs et si je modifie un
des champs j'aimerai qu'il mette à jour ma base lorsque j'appuie sur le
bouton validé.

Une idée ?

Merci
Avatar
Patrick
Bonjour,

Ma base de donnée est situé sur une feuille excel
j'ai les données suivant
Jours n°id nom prenom adresse tel ...........


J'aimerais lorsque je remplie mon formulaire en tapant le jours et le n°id
que le formulaire se remplit automatiquement si ces 2 informations existent
déjà dans ma base et une fois les champs remplis que je puisse modifier un
ou plusieurs champs.

Merci

Exemple
Si je tape Jours : 20/10/05 et n°id : A1234 ----> Tous les autres
champs se remplisse et j'aimerai pouvoir modifier certains champs si je
veux.





"michdenis" a écrit dans le message de news:
%
Bonjour Patrick,

Tu dois préciser ta demande et décrire précisément ton environnement si tu
désires obtenir une aide.

Quels sont ces 2 champs ? Où sont-ils situés ? Où est ta base de données ?
Comment est-elle structurée ?


Salutations!





"Patrick" a écrit dans le message de news:
436400af$0$456$
Bonour,

J'ai vraiment un serieux probleme

j'ai un formulaire dans lequel je remplie certaine infos (20 champs)

J'aimerai lorsque je remplie 2 champs et que ces 2 champs existent dejà
dans
la base il remplit automatiquement le reste des champs et si je modifie un
des champs j'aimerai qu'il mette à jour ma base lorsque j'appuie sur le
bouton validé.

Une idée ?

Merci






Avatar
jb
Date Id Nom
1 21/10/2005 123 Dupont
2 22/10/2005 124 Durand
3 23/10/2005 125 Espinasse
4 24/10/2005 126 Balu

Solution1 avec TextBox mId et mDate:

Private Sub mDate_AfterUpdate()
cherche
End Sub

Private Sub mId_AfterUpdate()
cherche
End Sub

Sub cherche()
Dim i As Integer
lig = 2
Me.mNom = ""
Do While Cells(lig, 1) <> ""
If Cells(lig, 1) = CVDate(Me.mDate) And Cells(lig, 2) = Val(Me.mId)
Then
Me.mNom = Cells(lig, 3)
End If
lig = lig + 1
Loop
End Sub

Solution2 avec Menu déroulant ChoixDate et ChoixId:

Private Sub ChoixDate_Change()
Me.ChoixDate = Format(Me.ChoixDate, "dd/mm/yy")
cherche
End Sub

Private Sub ChoixID_Change()
cherche
End Sub

Private Sub UserForm_Initialize()
Me.ChoixDate.RowSource = "A2:A" & Range("A65536").End(xlUp).Row
Me.ChoixID.RowSource = "B2:B" & Range("B65536").End(xlUp).Row
End Sub

Sub cherche()
Dim i As Integer
Me.mNom = ""
lig = 2
Do While Cells(lig, 1) <> ""
If Cells(lig, 1) = CVDate(Me.ChoixDate) And Cells(lig, 2) =
Val(Me.ChoixID) Then
Me.mNom = Cells(lig, 3)
End If
lig = lig + 1
Loop
End Sub

Private Sub B_valid_Click()
lig = 2
Do While Cells(lig, 1) <> ""
If Cells(lig, 1) = CVDate(Me.ChoixDate) And Cells(lig, 2) =
Val(Me.ChoixID) Then
Cells(lig, 3) = Me.mNom
End If
lig = lig + 1
Loop
End Sub

3e solution avec un seul menu déroulant (Date + Id):


JB
Avatar
jb
3e solution: 1 seul menu déroulant (définir 2 colonnes dans les
propriétés de ChoixDateId)

Private Sub ChoixDateId_Change()
Dim i As Integer
Me.mNom = ""
lig = 2
Do While Cells(lig, 1) <> ""
If Cells(lig, 1) = Me.ChoixDateId.Column(0) And _
Cells(lig, 2) = Val(Me.ChoixDateId.Column(1)) Then
Me.mNom = Cells(lig, 3)
End If
lig = lig + 1
Loop
End Sub

Private Sub UserForm_Initialize()
Me.ChoixDateId.RowSource = "A2:B" & Range("B65536").End(xlUp).Row
End Sub

Private Sub B_valid_Click()
lig = 2
Do While Cells(lig, 1) <> ""
If Cells(lig, 1) = Me.ChoixDateId.Column(0) And _
Cells(lig, 2) = Val(Me.ChoixDateId.Column(1)) Then
Cells(lig, 3) = Me.mNom
End If
lig = lig + 1
Loop
End Sub

JB
Avatar
jb
Solution No 4:1 seul menu déroulant (définir 2 colonnes dans les
propriétés de ChoixDateId)

Private Sub ChoixDateId_Change()
Me.mNom = Cells(Me.ChoixDateId.ListIndex + 2, 3)
End Sub

Private Sub UserForm_Initialize()
Me.ChoixDateId.RowSource = "A2:B" & Range("B65536").End(xlUp).Row
End Sub

Private Sub B_valid_Click()
Cells(Me.ChoixDateId.ListIndex + 2, 3) = Me.mNom
End Sub

JB
Avatar
Patrick
Merci bcp pour ta réponse complete

J'essaye ça et je te tiens au courant

Merci



"jb" a écrit dans le message de news:

Solution No 4:1 seul menu déroulant (définir 2 colonnes dans les
propriétés de ChoixDateId)

Private Sub ChoixDateId_Change()
Me.mNom = Cells(Me.ChoixDateId.ListIndex + 2, 3)
End Sub

Private Sub UserForm_Initialize()
Me.ChoixDateId.RowSource = "A2:B" & Range("B65536").End(xlUp).Row
End Sub

Private Sub B_valid_Click()
Cells(Me.ChoixDateId.ListIndex + 2, 3) = Me.mNom
End Sub

JB