
08/08/2004, 01:42
|
 | | | Fecha de Ingreso: abril-2002 Ubicación: Morelia México
Mensajes: 356
Antigüedad: 23 años Puntos: 1 | |
prueba lo siguiente Hola Luz_per:
Mira aqui te envio un pequeño ejemplo de una manera que a mi me parece mucho mejor de la que lo estas programando, ya que para empezar los DSN dejan mucho que desear y son latosos, ya que en cada maquina que instales tu sistema debes de crearlos. Espero que te sirva y si tienes alguna duda te puedo enviar un ejemplo de codigo que te ayude un poco mas.
'PRIMERO te recomiendo que agregues esto en un módulo, para que lo puedas acceder desde cualquier formulario de tu proyecto
'Declaramos nuestras conexiones y recordsets
Dim Cnn As New ADODB.Connection
Dim Rst As New ADODB.Recordset
Sub main()
'Se abre la conexion
Cnn.ConnectionString = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & App.Path & "\Prueba.mdb"
Cnn.Open
'Al poner la instruccion App.Path indicamos que la base de datos se encuentra en el mismo directorio que nuestro proyecto, en caso contrario indicale la ruta fisica de tu base de datos .. ejemplo:
'Cnn.ConnectionString = "Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\Prueba.mdb"
'Inicializamos el recordset y abrimos la consulta
With Rst
.ActiveConnection = Cnn
.LockType = adLockReadOnly
.CursorType = adOpenStatic
.Open "Select * from Avion"
End With
Form1.Show 'Suponiendo que Form1 es tu formulario principal
End Sub
'Algo muy IMPORTANTE es que en tu proyecto vayas al Menu PROYECTO -> PROPIEDADES DE PROYECTO y en la opcion de OBJETO INICIAL elegir del combo la opcion SUB MAIN de lo contrario pega todo lo anterior en tu formulario principal y lo que esta en sub main ponselo antes al evento LOAD del formulario
'DESPUES EN TU FORMULARIO (Suponiendo que se llama Form1)
Private Sub Form_Load()
Set Grid.DataSource = Rst
Rst.MoveFirst
For x = 0 To cont
Text1(x).Text = Rst.Fields(x)
Next
End Sub
'BOTON SIGUIENTE
Private Sub Siguiente_Click()
Rst.MoveNext
If Rst.EOF = True Then
Siguiente.Enabled = False
Else
For x = 0 To cont
Text1(x).Text = Rst.Fields(x)
Next
End If
Anterior.Enabled = True
End Sub
'BOTON ANTERIOR
Private Sub Anterior_Click()
Rst.MovePrevious
If Rst.BOF = True Then
Anterior.Enabled = False
Else
For x = 0 To cont
Text1(x).Text = Rst.Fields(x)
Next
End If
Siguiente.Enabled = True
End Sub
Espero te haya sido de ayuda, cualquier pregunta no dudes en hacerla.
__________________ Abraham Velasco
Usuario # 516 en los Foros del Web.
El hombre no vale por lo que sabe, sino por lo que transmite
C'est parce qu'il y a un Dieu que nous sommes libres |