ayuda
Publicado por ayuda!!!!!!!!!!!! (8 intervenciones) el 08/07/2006 00:46:31
le agredeceria de antemano que me ayuden, con este problema please:
Public DB As Database
Public Rs As Recordset
Public rst As Recordset
Private Sub Form_Load()
If Right(App.Path, 1) = "\" Then
Set DB = OpenDatabase(App.Path + "DBMaster97.mdb")
Else
Set DB = OpenDatabase(App.Path + "\DBMaster97.mdb")
End If
Set Rs = DB.OpenRecordset("Encabezado_Salida")
Set rst = DB.OpenRecordset("Encabezado_Salida_Detallado")
End Sub
Private Sub cmdGuardar_Click()
Dim cont As Long
With Rs
.AddNew
.Fields("folio_salida") = txtFolio.Text
.Fields("fecha_sa") = mskFecha.Text
.Fields("factura_sa") = txtFactura.Text
.Fields("proveedor_sa") = UCase(txtProveedor.Text)
.Fields("bodega_sa") = UCase(cboBodega.Text)
.Fields("responsable_sa") = UCase(txtResponsable.Text)
.Update
End With
For cont = 0 To FlexArticulos.Rows - 1
With rst
.AddNew
!sal_fol = txtFolio.Text
!sal_fact = txtFactura.Text
!codigo_sa = FlexArticulos.TextMatrix(cont, 1)
!descrip_sa = FlexArticulos.TextMatrix(cont, 2)
!cantidad_sa = FlexArticulos.TextMatrix(cont, 3)
!unidad_sa = FlexArticulos.TextMatrix(cont, 4)
.Update
MsgBox "guardado!!!!"
End With
Next
End Sub
>>>el problema es el siguinte me sale este tipo de error cuando quiero guardar los datos:
run-time error '3022': the changes you requested to the table were not successful because they would create duplicate values in the index, primary key, or relationship. change the data in the field or fields that contain duplicate data,remove the index, or redefine the index to permit duplicate entries and try again.....ufff me costo..
y ya revise este tipo de error en la red, pero aun asi no le encuentro y la mera verdad me esta desesperando,para saber mas lo que estoy haciendo...
es cuando yo teclee los siguiente datos
folio,fecha,factura,proveedor,bodega y responsale me pase al siguiente textbox para ingresar
codigo,descripcion,cantidad y unidad , al dar enter en unidad hago los siguiente que esta debajo
Private Sub rellenar_grid_dato()
With FlexArticulos
.Rows = .Rows + 1
.Row = .Rows - 1
.TextMatrix(.Row, 0) = Str(.Row)
.TextMatrix(.Row, 1) = txtCodigo.Text
.TextMatrix(.Row, 2) = txtDescripcion.Text
.TextMatrix(.Row, 3) = txtCantidad.Text
.TextMatrix(.Row, 4) = cboUnidad.Text
End With
End Sub
y posteriormente regreso al codigo para poder ingresar otros articulos en el msflexgrid, ya que pueden ser mas de 1 hasta como max 30 articulos, y lo que quiero hacer es que cuando guarde el cada articulo que contenga el msflexgrid, contenga los datos de folio y factura como referencia, espero que me entiendan lo que quiero hacer, si tienen dudas contactenme please por que si necesito que me hechen la mano... gracias
o si hay algun metodo diferente bienvenido....
Public DB As Database
Public Rs As Recordset
Public rst As Recordset
Private Sub Form_Load()
If Right(App.Path, 1) = "\" Then
Set DB = OpenDatabase(App.Path + "DBMaster97.mdb")
Else
Set DB = OpenDatabase(App.Path + "\DBMaster97.mdb")
End If
Set Rs = DB.OpenRecordset("Encabezado_Salida")
Set rst = DB.OpenRecordset("Encabezado_Salida_Detallado")
End Sub
Private Sub cmdGuardar_Click()
Dim cont As Long
With Rs
.AddNew
.Fields("folio_salida") = txtFolio.Text
.Fields("fecha_sa") = mskFecha.Text
.Fields("factura_sa") = txtFactura.Text
.Fields("proveedor_sa") = UCase(txtProveedor.Text)
.Fields("bodega_sa") = UCase(cboBodega.Text)
.Fields("responsable_sa") = UCase(txtResponsable.Text)
.Update
End With
For cont = 0 To FlexArticulos.Rows - 1
With rst
.AddNew
!sal_fol = txtFolio.Text
!sal_fact = txtFactura.Text
!codigo_sa = FlexArticulos.TextMatrix(cont, 1)
!descrip_sa = FlexArticulos.TextMatrix(cont, 2)
!cantidad_sa = FlexArticulos.TextMatrix(cont, 3)
!unidad_sa = FlexArticulos.TextMatrix(cont, 4)
.Update
MsgBox "guardado!!!!"
End With
Next
End Sub
>>>el problema es el siguinte me sale este tipo de error cuando quiero guardar los datos:
run-time error '3022': the changes you requested to the table were not successful because they would create duplicate values in the index, primary key, or relationship. change the data in the field or fields that contain duplicate data,remove the index, or redefine the index to permit duplicate entries and try again.....ufff me costo..
y ya revise este tipo de error en la red, pero aun asi no le encuentro y la mera verdad me esta desesperando,para saber mas lo que estoy haciendo...
es cuando yo teclee los siguiente datos
folio,fecha,factura,proveedor,bodega y responsale me pase al siguiente textbox para ingresar
codigo,descripcion,cantidad y unidad , al dar enter en unidad hago los siguiente que esta debajo
Private Sub rellenar_grid_dato()
With FlexArticulos
.Rows = .Rows + 1
.Row = .Rows - 1
.TextMatrix(.Row, 0) = Str(.Row)
.TextMatrix(.Row, 1) = txtCodigo.Text
.TextMatrix(.Row, 2) = txtDescripcion.Text
.TextMatrix(.Row, 3) = txtCantidad.Text
.TextMatrix(.Row, 4) = cboUnidad.Text
End With
End Sub
y posteriormente regreso al codigo para poder ingresar otros articulos en el msflexgrid, ya que pueden ser mas de 1 hasta como max 30 articulos, y lo que quiero hacer es que cuando guarde el cada articulo que contenga el msflexgrid, contenga los datos de folio y factura como referencia, espero que me entiendan lo que quiero hacer, si tienen dudas contactenme please por que si necesito que me hechen la mano... gracias
o si hay algun metodo diferente bienvenido....
Valora esta pregunta


0