• Domingo 22 de Diciembre de 2024, 18:44

Autor Tema:  Maestro Detalle Con Ado  (Leído 1128 veces)

sina_moran

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Maestro Detalle Con Ado
« en: Viernes 7 de Abril de 2006, 05:04 »
0
El problemita este me esta poniendo de la nucaa!! :huh:
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!!!!!!!!!!!! :hola:  :D