bueno baje un codigo de aca y lo quiero adacatar a un formulario que cree que guarda los datos en una base de datos peor me tira un error de pila
Código:
Option Explicit
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
' Variables para la conexión y para el recordset
Private Sub Command1_Click()
rs.AddNew
modoeditar True
End Sub
Private Sub Command2_Click()
rs.Update
modoeditar False
End Sub
Private Sub Command3_Click()
rs.Update
modoeditar False
End Sub
Private Sub Command6_Click()
End Sub
Private Sub cmdanterior_Click()
rs.MovePrevious
If rs.BOF Then
rs.MoveFirst
MsgBox "estamos en el primer registro"
End If
End Sub
Private Sub cmdEditar_Click()
modoeditar True
End Sub
Private Sub cmdeliminar_Click()
rs.Delete
rs.MoveNext
If rs.EOF Then
rs.MoveLast
End If
End Sub
Private Sub cmdGuardar_Click()
rs.Update
modoeditar False
End Sub
Private Sub cmdnuevo_Click()
rs.AddNew
modoeditar True
End Sub
Private Sub cmdprimero_Click()
rs.MoveFirst
End Sub
Private Sub cmdsiguente_Click()
rs.MoveNext
If rs.EOF Then
rs.MoveLast
MsgBox "estamos en el ultimo registro"
End If
End Sub
Private Sub cmdUltimo_Click()
rs.MoveLast
End Sub
Private Sub DataCombo1_Click(Area As Integer)
Set DataCombo1.RowSource = rs
' campo a mostrar en el datacombo
DataCombo1.ListField = "DESCRIPCION"
Set DataCombo1.DataSource = rs /// en esta linea me marca el error
End Sub
Private Sub Form_Load()
modoeditar False
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source = dax.mdb; "
rs.ActiveConnection = cn
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
rs.Open "select * from ANIMALES"
****** esta es la conexccion PARA ABRIR LA TABLA ESPECIE
Set Text1.DataSource = rs
Text1.DataField = "ID_ANIMAL"
Set Text2.DataSource = rs
Text2.DataField = "NUMERO_LARGO"
Set DataCombo1.DataSource = rs
DataCombo1.DataField = "ESPECIE"
Set Text4.DataSource = rs
Text4.DataField = "ORIGEN"
Set Calendar1.DataSource = rs
Calendar1.DataField = "FECHA_NAC"
Set Text6.DataSource = rs
Text6.DataField = "GENETICA"
Set Text7.DataSource = rs
Text7.DataField = "ID_PADRE"
Set Text8.DataSource = rs
Text8.DataField = "ID_MADRE"
Set Text9.DataSource = rs
Text9.DataField = "UBICACION"
Set Text10.DataSource = rs
Text10.DataField = "COMENTARIO"
' nueva conexión ado
Set cn = New ADODB.Connection
' Abre la conexión
With cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source = " & App.Path & "\dax.mdb"
.Open
End With
' Nuevo Recordset
Set rs = New ADODB.Recordset
' Propiedades del Recordset
With rs
.CursorLocation = adUseClient
' Abre el recordset indicando la tabla
.Open "ESPECIE", cn, adOpenStatic, adLockOptimistic, adCmdTable
End With
End Sub
///Y ESTA PARA ABRIR LA TABLA ESPECIE ///
Private Sub Form_Unload(Cancel As Integer)
' Descarga y cierra el recordset
If Not rs.State = adStateClosed Then
rs.Close
End If
If Not cn Is Nothing Then
Set cn = Nothing
End If
' cierra la conexión ado
If Not cn.State = adStateClosed Then
cn.Close
End If
If Not cn Is Nothing Then
Set cn = Nothing
End If
// ESTO VENIA CON EL CODIGO DEL DATACOMBO ///
End Sub
Private Sub modoeditar(ByVal ok As Boolean)
Text1.Locked = Not ok
Text2.Locked = Not ok
DataCombo1.Locked = Not ok
Text4.Locked = Not ok
Text6.Locked = Not ok
Text7.Locked = Not ok
Text8.Locked = Not ok
Text9.Locked = Not ok
Text10.Locked = Not ok
cmdnuevo.Enabled = Not ok
cmdEditar.Enabled = Not ok
cmdeliminar.Enabled = Not ok
cmdGuardar.Enabled = ok
If ok Then Text1.SetFocus
End Sub
Private Sub salirautor_Click()
Unload Me
End Sub
LO que quiero HACER CON ESTE CODIGO ES GUARDAR LOS DATOS EN UNA TABLA , PERO EL PROBLEMA ES que CON EL DATACOMBO HAY que LLAMAR LOS DATOS DE OTRA TABLA EN ESTE CASO LA TABLA ESPECIE EL CAMPO TIPO , PARA que SE MUESTREN EN LA LISTA DEL DATA COMBO Y AL ELEGIR UNO DE ESOS SE GUARDE EN LA TABLA ANIMALES JUNTO CON TODOS LOS DATOS PEOR AL SELECCIONAR EL DATACOMBO SALEN LOS DATOS PERO SE VEN INTERMITENTES Y AL FINAL DICE ERROR ESPACIO DE PILA INSUFICIENTE SI ALGUIEN ME PUDIERA AYUDAR
En línea