Ver Mensaje Individual
  #2 (permalink)  
Antiguo 08/08/2004, 01:42
Avatar de aavg
aavg
 
Fecha de Ingreso: abril-2002
Ubicación: Morelia México
Mensajes: 356
Antigüedad: 22 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