Ouvrir un form a partir d'un autre en affichant les bonnes données
nb01
Messages postés61Date d'inscriptionsamedi 7 avril 2007StatutMembreDernière intervention27 novembre 2013
-
28 oct. 2008 à 19:41
zonedhea
Messages postés2Date d'inscriptionmardi 23 décembre 2008StatutMembreDernière intervention23 décembre 2008
-
23 déc. 2008 à 15:10
Bonjour,
Mon problème doit être simple mais ne l'est pas pour une débutant en VB comme moi.
J'ai 2 forms
Le form1 contient un Datagrid
Le form2 contient un Detail
Ces 2 forms font appel au même Dataset.
Comme vous l'aurez compris le premier présente une liste et le second et censé être la visualisation détaillée de l'élément que l'utilisateur aura sélectionné dans le Datagrid.
Ma question est simple : comment faire pour que l'utilisateur voir effectivement le detail qui correspond à la ligne sélectionnée dans le Datagrid.
Merci d'avance
Nico
A voir également:
Ouvrir un form a partir d'un autre en affichant les bonnes données
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 28 oct. 2008 à 20:50
Il te faudrait, je pense, un BindingNavigator branché sur le dataset et auquel tu lui indiquerais l'élément sélectionné pour qu'il te renvoie les données correspondantes.
zonedhea
Messages postés2Date d'inscriptionmardi 23 décembre 2008StatutMembreDernière intervention23 décembre 2008 23 déc. 2008 à 15:10
Voici ce qie j'ais réalisé pour réaliser des recherche dans une MDB, puis d'afficher le détaille de la sélection avant de l'importer dans un chariot, qui écrira son contenu sur ma feuille
Valider en référence Microsoft ADO v6 et DATAgrid V6
A mettre dans un Module
Global cnx As ADODB.Connection
Global rst As ADODB.Recordset
Global rsTitles As ADODB.Recordset
Global recordsetEC As Recordset
Global base
Global ll
Sub coldime2()
UserForm1.DataGrid1.Columns("Nom_Fournisseur").Width = 70
UserForm1.DataGrid1.Columns("Reference").Width = 70
'UserForm1.DataGrid1.Columns("Code Pro").Width = 50
UserForm1.DataGrid1.Columns("designation").Width = 190
UserForm1.DataGrid1.Columns("PNI").Width = 50
'UserForm1.DataGrid1.Columns("MO1").Width = 20
'UserForm1.DataGrid1.Columns("MO2").Width = 20
'UserForm1.DataGrid1.Columns("MO3").Width = 20
UserForm1.DataGrid1.HoldFields
End Sub
Code de ma Forme (a adpter en fonction de la MDB
Private Sub ComboBox1_Change()
base = ComboBox1.ListIndex
End Sub
Private Sub CommandButton1_Click()
If TextBox1.Text <> "" Then
tts = TextBox1.Text
Else
tts = "%"
End If
If TextBox2.Text <> "" Then
tts2 = TextBox2.Text
Else
tts2 = "%"
End If
If TextBox3.Text <> "" Then
tts3 = TextBox3.Text
Else
tts3 = "%"
End If
rst.Close
'rst.Open "SELECT Fournisseur ,[Réf Art] ,[Code Pro] ,Libellé ,[C, Opérationnel] ,MO1 ,MO2 ,MO3 FROM Gen_cdp WHERE Libellé LIKE '" & tts & "'", cnx
Select Case (base)
Case 1
rst.Open "SELECT Nom_Fournisseur ,Reference ,designation ,PNI FROM Octave WHERE designation LIKE '" & tts & "' AND Nom_Fournisseur LIKE '" & tts2 & "' AND Reference LIKE '" & tts3 & "'", cnx
Case 0
rst.Open "SELECT Fournisseur ,[Réf Art] ,[Code Pro] ,Libellé ,[C, Opérationnel] ,MO1 ,MO2 ,MO3 FROM Gen_cdp WHERE Libellé LIKE '" & tts & "' AND Fournisseur LIKE '" & tts2 & "' AND [Réf Art] LIKE '" & tts3 & "'", cnx
End Select
Private Sub CommandButton3_Click()
Dim pri As Double
If ListB.ListCount > 0 Then
For i = 0 To ListB.ListCount - 1
Cells(i + ll, 1) = ListB.List(i)
Cells(i + ll, 2) = ListB.List(i, 1)
Cells(i + ll, 3) = ListB.List(i, 2)
Cells(i + ll, 4) = ListB.List(i, 3)
Cells(i + ll, 5) = ListB.List(i, 4)
pri = ListB.List(i, 5)
Cells(i + ll, 6) = pri
Cells(i + ll, 7) = "1"
Cells(i + ll, 8).FormulaR1C1 = "=RC[-2]*RC[-1]"
Next i
End If
End Sub
Private Sub CommandButton4_Click()
txt = ComboBox1.Text
Set cnx = New ADODB.Connection
Set rst = New ADODB.Recordset
Set rsTitles = New ADODB.Recordset
' cnx.ConnectionString = "Driver={Microsoft Access Driver (*.mdb)};dbq=" & "e:\devt\outil\test1\bd1.mdb" & ";"
'cnx.Open
tts = "##"
rst.Open "SELECT Nom_Fournisseur ,Reference ,designation ,PNI FROM Octave WHERE Nom_Fournisseur LIKE '" & tts & "'", cnx
' rst.Open "SELECT Fournisseur ,[Réf Art] ,[Code Pro] ,Libellé ,[C, Opérationnel] ,MO1 ,MO2 ,MO3 FROM Gen_cdp WHERE Libellé LIKE '" & tts & "'", cnx
'rst.Open "SELECT Nom, Prénom, Date FROM client WHERE Nom LIKE '" & tts & "'", cnx
'rst.Open "SELECT Nom, Prénom, Date FROM client WHERE Date > #15/12/2005# ", cnx, adOpenDynamic, adLockOptimistic, adCmdText