Ayuda con SQL en VB 6.0 update, select, etc.
Tengo una BD en Access con una tabla MERCADERÍAS relacionada de uno a varios con otra llamada PRODUCTOS_ASOCIADOS y necesito agregar al formulario un botón que me permita modificar los campos de un registro y para ello también tengo un datagrid que en el evento click me llena los datos de las columnas en los respectivos textbox, tengo el RS y la conexión en el mismo formulario de la siguiente manera,
Dim cnBase As New ADODB.Connection
Dim rsArticGrilla As New ADODB.Recordset
Sub conexionbase()
With cnBase
.CursorLocation = adUseClient
.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\The Ocean Blue\Escritorio\Programa Ingreso Rollos de Tela\Ingreso_Rollos.mdb;Persist Security Info=False"
End With
End Sub
Sub cargagrilla()
With rsArticGrilla
If .State = 1 Then .Close
.Open "select MECODINT as CODIGO, MECODIGO as CODIGO_BARRA, MEDESCRI as DESCRIPCION, MEMEDIDA as MEDIDA, MEPROV as PROVEEDOR, MESECCIO as SECCION, MEOBS as OBSERVACION, METIPOMER as TIPO from MERCADERIAS where METIPOMER =" & 1, cnBase, adOpenStatic, adLockOptimistic
End With
End Sub
Private Sub btnmodificar_Click()
If rsArticGrilla.BOF Or rsArticGrilla.EOF Then Exit Sub
If text1.Text = "" Then
MsgBox "Debe seleccionar un registro de la lista", vbExclamation + vbOKOnly, "ABM Mercaderias"
Else
Dim modif As String
modif = "update MERCADERIAS set MECODIGO = '" & Text2.Text & "',MEDESCRI = '" & Text3.Text & "',MEMEDIDA = '" & Text4.Text & "',MEPROV ='" & Text5.Text & "',MESECCIO = '" & Text6.Text & "',MEOBS = '" & Text7.Text & "',METIPOME = '" & Text8.Text & "'where MECODINT ='" & text1.Text & "'"
Set rsArticGrilla = cnBase.Execute(modif)
End If
End Sub
btnmodificar seria el boton pero a hacer click me arroja el siguiente error " no se han especificado valores para los parametros requeridos" y al depurar va a la linea Set rsArticGrilla = cnBase.Execute(modif).
Ah, he borrado todos los datos en la Tabla PRODUCTOS_ASOCIADOS para hacer la prueba ya que con la relación no me permite solo actualizar los datos en la tabla primaria, esto por lo de la integridad de la BD pero, ¿existe algún truquito para actualizar los datos en la tabla primaria sin modificar la relacionada? Yo probé borrando el registro y volverlo a insertar pero debido al uso que tendrá el sistema la relación es de 1 a varios y tendría que borrar todos los registros en donde el COD de la Tabla Primaria sea igual al COD de la tabla relacionada.
Dim cnBase As New ADODB.Connection
Dim rsArticGrilla As New ADODB.Recordset
Sub conexionbase()
With cnBase
.CursorLocation = adUseClient
.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\The Ocean Blue\Escritorio\Programa Ingreso Rollos de Tela\Ingreso_Rollos.mdb;Persist Security Info=False"
End With
End Sub
Sub cargagrilla()
With rsArticGrilla
If .State = 1 Then .Close
.Open "select MECODINT as CODIGO, MECODIGO as CODIGO_BARRA, MEDESCRI as DESCRIPCION, MEMEDIDA as MEDIDA, MEPROV as PROVEEDOR, MESECCIO as SECCION, MEOBS as OBSERVACION, METIPOMER as TIPO from MERCADERIAS where METIPOMER =" & 1, cnBase, adOpenStatic, adLockOptimistic
End With
End Sub
Private Sub btnmodificar_Click()
If rsArticGrilla.BOF Or rsArticGrilla.EOF Then Exit Sub
If text1.Text = "" Then
MsgBox "Debe seleccionar un registro de la lista", vbExclamation + vbOKOnly, "ABM Mercaderias"
Else
Dim modif As String
modif = "update MERCADERIAS set MECODIGO = '" & Text2.Text & "',MEDESCRI = '" & Text3.Text & "',MEMEDIDA = '" & Text4.Text & "',MEPROV ='" & Text5.Text & "',MESECCIO = '" & Text6.Text & "',MEOBS = '" & Text7.Text & "',METIPOME = '" & Text8.Text & "'where MECODINT ='" & text1.Text & "'"
Set rsArticGrilla = cnBase.Execute(modif)
End If
End Sub
btnmodificar seria el boton pero a hacer click me arroja el siguiente error " no se han especificado valores para los parametros requeridos" y al depurar va a la linea Set rsArticGrilla = cnBase.Execute(modif).
Ah, he borrado todos los datos en la Tabla PRODUCTOS_ASOCIADOS para hacer la prueba ya que con la relación no me permite solo actualizar los datos en la tabla primaria, esto por lo de la integridad de la BD pero, ¿existe algún truquito para actualizar los datos en la tabla primaria sin modificar la relacionada? Yo probé borrando el registro y volverlo a insertar pero debido al uso que tendrá el sistema la relación es de 1 a varios y tendría que borrar todos los registros en donde el COD de la Tabla Primaria sea igual al COD de la tabla relacionada.
1 respuesta
Respuesta de Roberto Alvarado
1