Acceso: Abra el registro existente en un formulario personalizado para editar
-
21-12-2019 - |
Pregunta
Aquí está la gran visión.
Estoy construyendo una base de datos de piezas que se utilizará para la electrónica DIS-ASSAMBLE.
Cuando una parte se elimina inicialmente de la PCB, su designador de referencia y el valor medido se registrarán (cada tipo de pieza tiene un formulario de entrada personalizado, por ejemplo, resistencias, capactores, IC, etc.).Más tarde, volveremos a cada parte y vamos a agregar más detalles.
En este punto, puedo seleccionar las piezas existentes en un cuadro combinado, use la función FindFirst para localizar su registro en la tabla principal, extraiga la información del tipo de pieza correspondiente y abra el formulario de entrada de datos correspondiente.
Lo que no puedo averiguar es cómo mostrar ese registro en el formulario recién abierto.La estrategia típica de ME.Bookmark= Rs. Librookmark no funciona ya que estoy abriendo una nueva forma
Private Sub cmdEditPart_Click()
Dim rs As Recordset
Dim qdf As QueryDef
Dim prm As Parameter
Dim partType As String
Set qdf = CurrentDb.QueryDefs("Parts_SingleBoard")
qdf.Parameters(0) = Forms![Start Page (Boards)]![ComboPartNumber]
'Lookup record
If Not IsNull(Me.cmbRefDes) Then
'Save before move.
If Me.Dirty Then
Me.Dirty = False
End If
'Search in the clone set.
Set rs = qdf.OpenRecordset.Clone
rs.FindFirst "[Reference Designator] = '" & Me.cmbRefDes & "'"
If rs.NoMatch Then
MsgBox "Part not found"
Else
'Display the found record in the appropriate form.
partType = rs.Fields("Part Type")
DoCmd.OpenForm (partType)
'Some sort of bookmark wizardy ****THIS IS WHAT I NEED HELP WITH *****
End If
Set rs = Nothing
End If
End Sub
4 Step Recap:
Ver lista de piezas existentes -> Seleccionar Parte -> Formulario de entrada de datos correcto de Abrir dinámicamente -> Pover Formulario con el registro Quiero editar
Solución
Utilice el mecanismo de filtro integrado en el método DOCMD.OPENFFORM, algo así:
DoCmd.OpenForm (partType), , , "[Reference Designator] = '" & Me.cmbRefDes & "'"
No estoy seguro de si tengo suficientes comas antes de mi declaración de filtro.Es posible que necesite cuatro comas.