Ayudaa!!! Formularios Maestro Detalle con ADO

sina_moran
07 de Abril del 2006
Genere automaticametne un formulario maestro detalle con el wizard de visual. Bien, ahora quise editarlo para poder modificar de a un registro por vez, para ello analizo si la opción ingresada por el usuario es alta o modificación. La cuestión es que si bien para el caso de las modificaciones funciona sin problemas, cada vez que quiero hacer un alta de este juego de registros me da error. Primeramente me dice que no puede vincular la grilla a childcmd en la modalidad underlyingvalue. Lo cambio a Value solamente y me la vincula, pero ucando quiero agregar un registro me dice que no tiene ningun registro en el maestro asociado.... ESTOY FRITA... ya no se mas que hacer (demas esta decier que este codigo sufrio 1.000.000 modificaciones, pero no se mas por donde disparar, por eso los molesto a ustedes)
El codigo que modifique es el siguiente:
On Error GoTo ErrorDetectado

Dim db As Connection
Set db = New Connection
db.CursorLocation = adUseClient
db.Open "PROVIDER=MSDataShape;Data PROVIDER=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine Type=5;Data Source=" & nombrebase & ";"

Set adoPrimaryRS = New Recordset

Accion = Val(lblAccion.Caption)

If Accion = 1 Then
CodigoCuadro = Val(lblCodigoCuadro.Caption)
CadSelect1 = "SHAPE {select CodCargo_A2,CodCuadro_A2,FechaPresentación_A2 from A2_Cuadro_Ajuste_Cab WHERE CodCuadro_A2 = " & CodigoCuadro & "} AS ParentCMD APPEND ({select CodCuadro_A3,Año_A3,Mes_A3,Diferencia_A3, Compensado_A3,CompensadoFecha_A3 from A3_Cuadro_Ajuste_Det } AS ChildCMD RELATE CodCuadro_A2 TO CodCuadro_A3) AS ChildCMD"
adoPrimaryRS.Open CadSelect1, db, adOpendinamic, adLockOptimistic
Else
adoPrimaryRS.Open "SHAPE {select CodCargo_A2,CodCuadro_A2,FechaPresentación_A2 from A2_Cuadro_Ajuste_Cab} AS ParentCMD APPEND ({select CodCuadro_A3,Año_A3,Compensado_A3,CompensadoFecha_A3,Diferencia_A3,Mes_A3 from A3_Cuadro_Ajuste_Det } AS ChildCMD RELATE CodCuadro_A2 TO CodCuadro_A3) AS ChildCMD", db, adOpenStatic, adLockOptimistic

If Not adoPrimaryRS.EOF And Not adoPrimaryRS.BOF Then
adoPrimaryRS.MoveLast
CodigoCuadro = adoPrimaryRS!CodCuadro_A2 + 1
Else
CodigoCuadro = 1
End If
adoPrimaryRS.AddNew Array(CodCuadro_A2, Codcuadro_a3), Array(CodigoCuadro, CodigoCuadro)
End If

Dim oText As TextBox

'Enlaza los cuadros de texto con el proveedor de datos
For Each oText In Me.txtFields
Set oText.DataSource = adoPrimaryRS
Next

'actualiza los controles que no son text
If Not adoPrimaryRS.BOF Then
If notadoPrimaryRS!FechaPresentación_A2 = Null Then
Fecha1.Text = adoPrimaryRS!FechaPresentación_A2
End If
End If

Set grdDataGrid.DataSource = adoPrimaryRS("ChildCMD").UnderlyingValue
Grilla

Exit Sub

ErrorDetectado:
Call ManejoErrores("Form.Activate", Me.Name)
Resume Next

Desde ya MUCHAS GRACIASSSS!!!!!!!!!!!!