August 06, 2020, 21:26:28

Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!


Popup: filtern nach Firma und Focus auf aktuelles Produkt?

Begonnen von maddhin, Juli 15, 2020, 12:35:47

⏪ vorheriges - nächstes ⏩

maddhin

Hallo,

ich habe mir eine Produktübersicht gebastelt. Wenn man jetzt z.B. auf Produkt-ID doppelklickt, wird ein Popup geladen, welches alle Produktdetails anzeigt. So weit so gut.

Da viele Firmen aber mehrere Produkte haben, hätte ich gerne, dass in dem Popup neben dem angeklickten Produkt auch noch die anderen Produkte der Firma "auftauchen", d.h. das angeklickte Produkt soll geladen werden und die weiteren Produkte via "nächster Datensatz" etc erreichbar sein.

Im Moment kann ich zwar alle Produkte der Firma anzeigen (Filter nach Firma-ID) lassen, aber das angeklickte Produkt ist dann nicht "im Fokus" sondern taucht dann irgendwann beim Durchgehen der Datensätze auf...

Kann man diese beiden Dinge irgendwie vereinen?

ebs17

Du würdest für das PopUp eine Datenherkunft benötigen, die alle Produkte zeigen kann und die nach Firma gefiltert werden kann.

Beim Öffnen des PopUp gibst Du eine WHERE-Condition beim OpenForm mit. Damit kannst Du gezielt auf Deine Firma filtern. Gleichzeitig übergibst Du beim OpenForm als OpenArgs die ID zum Produkt. Damit kannst Du dann den Fokus auf den gewünschten Datensatz setzen, analog Gleicher Datensatz nach Requery
Mit freundlichem Glück Auf!

Eberhard

maddhin

@ebs17: lieben Dank, "recordset.findfirst" war der Tipp, den ich gebraucht habe!

Anbei die bzw. eine komplette Lösung für Leute, die ein ähnliches Problem haben:

'Function to open the product popup
Function ProductPopup()
Dim oForm As Form
Dim strCaption As String
Set oForm = Form_fsubProductPopup

'change name of the new form's caption to the current product name
If IsNull(Me.Product_Name) Then
strCaption = "No Name"
Else: strCaption = Me.Product_Name
End If
oForm.Caption = strCaption

'Filter the form for the choosen company
oForm.Filter = "ID_Corp=" & Me.ID_Corp
oForm.FilterOn = True
'Set focus on product which was doubleclicked
oForm.Recordset.FindFirst "ID_Product=" & Me.ID_Product
'Set popup size
oForm.InsideHeight = 10000
oForm.InsideWidth = 18000
'make the form appear
oForm.Visible = True
End Function

Private Sub ID_Product_DblClick(Cancel As Integer)
Call ProductPopup
End Sub