Création de plusieurs etat d'un meme formulai

nicoamel -  
 nicoamel -
Bonjour,

j'ai un formulaire qui ce nome <<demande de devis>> avec un sous formulaire pour <<choix du fournisseur>>qui me permet de choisir le nombre de fournisseur désiré pour le même devis.

Je souhaiterai ouvrir autant d'état que de fournisseur choisi pour la même demande de devis et je n'arrive pas à trouver la bonne formule.

Pouvez-vous m'aider.
merci d'avance



Private Sub Cocher3_Click()
Dim t As Recordset
Set t = CurrentDb.OpenRecordset("Detail_Envoi_par_Demande_de_Devis")
rror Resume Next
'============================================ Version 1.0 du 29/04/2011==========================================================
'Ce code sert à tester la valeur de la case à cocher et à induire une action de mise à jour dans la table des demande de devis
'================================================================================================================================
'MsgBox (Me![Oui/Non])
'Si la case à cocher est vierge, alors, cela signifie que l'opérateur veut ajouter le soustraitant à la liste des tiers devant
'répondre à la demande de devis
If Me![Oui/Non] = -1 Then
t.AddNew
t![n°Devis] = Me.Devis
t![Société] = Me.Société
t![Oui/Non] = Me![Oui/Non]
t![concat] = Me.Devis & Me.Société
t.Update
Else 'Dans le cas contraire, l'opérateur veut désélectionner le fournisseur de sa liste d'envoi. Il faut alors mettre à jour la
'table des demande de devis
t.MoveFirst
Do Until t.EOF
If t![concat] = Nz(Me![Devis] * 1) & Me![Société] Then 'on test pour voir si le devis est connu dans la base de stockage des données
t.Edit
t.Delete
t.Update
Exit Do
Else
t.MoveNext
End If
Loop
End If
End Sub
Private Sub Fermer_Click()
Dim t As Recordset
Set t = CurrentDb.OpenRecordset("t_fournisseurs")
On Error Resume Next

'on décoche toutes les cases à cocher de la table des fournisseurs pour présenter une liste
'vierge à l'utilisateur

t.MoveFirst

Do Until t.EOF
t.Edit
t![Oui/Non] = 0
t.Update
t.MoveNext
Loop

'on ferme le formulaire en cours
DoCmd.Close
End Sub

Private Sub Form_Current()
Dim t As Recordset
Dim tbis As Recordset

On Error Resume Next

Set t = CurrentDb.OpenRecordset("t_fournisseurs")
Set tbis = CurrentDb.OpenRecordset("Detail_Envoi_par_Demande_de_Devis")

'============================================ Version 1.0 du 29/04/2011==========================================================
'On coche les cases de la liste en fonction des données stockées dans la table de sélection
'des Devis afin de présenter à l'utilisateur la liste des fournisseurs qu'il a déjà choisi
'===============================================================================================================================

tbis.MoveFirst
Do Until tbis.EOF

Select Case Nz(tbis![n°Devis] * 1)

Case Is = Nz(Me![Devis] * 1) 'on test pour voir si le devis est connu dans la base de stockage des données
t.MoveFirst
Do Until t.EOF
If tbis![Société] = t![Société] Then
t.Edit
t![Oui/Non] = 1
t.Update
Exit Do
Else
t.MoveNext
End If
Loop
tbis.MoveNext
Case Else
tbis.MoveNext
End Select

Loop


End Sub


A voir également:

1 réponse

Utilisateur anonyme
 
bonjour nicoamel,

tu ecris en html, php, asp ou autre ?
0
nicoamel
 
bonjour lolo590807

j'ecris en visual basic
0