Visual Basic - enlazar access con visual

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

enlazar access con visual

Publicado por angel (37 intervenciones) el 23/10/2005 07:09:09
hola a todos los usuarios de este foro...tengo una duda!! como puedo enlazar a visual basic con access es decir como puedo hacer que en una ventana de visual basic se vea una tabla de access para capturar datos dentro de ella !!!??? de antemano muchas gracias por su atencion
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:enlazar access con visual

Publicado por Gustavo (181 intervenciones) el 23/10/2005 17:59:03
Q tal colega mira hay muchas formas de enlazar acces con VB esto depende de la version de acces q usas asi como los componentes q quiueres utilizar se puede hacer ADO DAO ......... estas son las q conosco =) pero hay mas
lo mas sencillo es usar un control DATA (lo puedes unvestigar en el MSDN o bajar un codigo de esta paguina) y direccionar tus text al control (esto en las propiedades del Text) y con esto queda como si trabajaras en la misma base
Bueno suerte =) si quieres otra cosa solo preguntalo pero recuerda q es un foro de ayuda o resolucion de problemas y si quieres q se te haga todo pues ........... mejor ni preguntes mas =)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:enlazar access con visual

Publicado por Arnaldo (53 intervenciones) el 23/10/2005 20:15:58
Hola, espero poder ayudarte.
Si lo quenecesitas es llamar a una tabla de acces desde VB, vero todos los registros que contiene y seleccionar algunos de ellos, enviandolos as un textBox(digamos un solo textbox). Podes utilizar un DBGrid o un MsflexGrid.
Laconexion con la base de datos vamos a hacerla con ADODB.
Hacemos la aplicacion desde el principio.
Una vez que empezamos un nuevo proyecto. vas al menu y en la opcion "Project", desplegas las opciones, seleccionando "Referencess..." Cuando veas que aparece el cuadro de dialogo activa los sigientes recursos:
Microsoft DAO 3.51 Object Library
Microsoft Data Binding Collection (MSBIND.DLL)
Microsoft ActiveX Data Objects 2.0 Library

Ahora nuevamente en menu, seleccionas "Project", alli en el desplegable seleccionas "Components". En cuadro de dialogo que aparece activas el siguiente control: Microsoft FlexGrid Control 6.0 (MSFLXGRD.OCX)

Ahora cmenzamos. Tengo dos tablas "Director", "Maestros" con informacion minima.
Maestros=9 registros
Director= 7 registros
En mi formulario cuento con un msflexgrid, un CommandButton, un TextBox,
Dos optionButton (Option1(0),Option1(1) - decido si la tabla para realizar la apertura)

Dim cn As New ADODB.Connection 'Conexion con la base de datos
Dim Rs As New ADODB.Recordset 'Conexion con una Tabla de la base
'de datos

Private Sub Command1_Click()
Dim C1, C2, C3, C4, C5, C6 As String 'Podria haber utilizado un vector
Dim fila As Variant
Dim x As Integer

cn.Open "DSN=EjemploLWP.mdb" 'Me conecto con la base de datos
Rs.CursorType = adOpenStatic 'Cursor estatico
Rs.LockType = adLockBatchOptimistic 'actualizacion por lote optimistas
If Option1(0).Value = True Then
Rs.Open "SELECT * FROM Maestros", cn, , adLockBatchOptimistic 'me conecto
'con la tabvla Maestros
x = 1
Else
Rs.Open "SELECT * FROM Director;", cn, , adLockBatchOptimistic
x = 0
End If
If Rs.EOF = False Then
Rs.MoveFirst
Cont = 0
While Rs.EOF = False
C1 = Rs.Fields(x + 1).Value & " " & Rs.Fields(x + 2).Value
C2 = Rs.Fields(x + 3).Value
C3 = Rs.Fields(x + 4).Value
C4 = Rs.Fields(x + 5).Value
C5 = Rs.Fields(x + 6).Value
C6 = ""
If Option1(0).Value = True Then C6 = Rs.Fields(8).Value
fila = C1 & vbTab & C2 & vbTab & C3 & vbTab & C4 & vbTab & C5 _
& vbTab & C6
MSFlexGrid1.AddItem fila
Rs.MoveNext
Wend
End If
cn.Close 'Me desconecto de la base de datos
End Sub

Private Sub Form_Load()
MSFlexGrid1.Cols = 6
Command1.Caption = "Mostrar Datos"
Option1(1).Value = True 'Por defecto siempre al solicitar "Mostrar
'Datos", nos mostrara informacion de directores.
End Sub

Private Sub MSFlexGrid1_DblClick()

'Aqui es donde envio la informaciond e la celda al cuadro de texto (Text1.text)

With MSFlexGrid1
If .MouseRow <> 0 Then
Text1.Text = LTrim(Text1.Text & " " & .Text)
End If
End With

End Sub

Private Sub Option1_Click(Index As Integer)

With MSFlexGrid1
.Rows = 1
.TextMatrix(0, 0) = "Nombre y Apellido"
.TextMatrix(0, 1) = "DNI"
.TextMatrix(0, 2) = "Telefono"
.TextMatrix(0, 3) = "Direccion"
.TextMatrix(0, 4) = "Escuela"

.ColWidth(0) = 1500
.ColWidth(1) = 2550
.ColWidth(2) = 2550
.ColWidth(3) = 2550
.ColWidth(4) = 2550
.ColWidth(5) = 2550

.ColAlignment(0) = 4
.ColAlignment(1) = 4
.ColAlignment(2) = 4
.ColAlignment(3) = 4
.ColAlignment(4) = 4
.ColAlignment(5) = 4

Select Case Index
Case 1
.TextMatrix(0, 5) = ""
Case 0
.TextMatrix(0, 5) = "Director"
End Select
End With
End Sub

'Cursor estatico: Trabaja sobre una copia estatica del conjunto de registros obtenidos. Podes buscar informacion sobre apeturas de tablas y base de datos Para establecer que es lo que mas se ajusta a tu necesidad.

Trate de definir paso a paso la mayoria de las cosas, trabajando en el cuadro de propiedades, podes evitar declarar muchos pasos. La conexxion con las tablas las realizo desde un tipo, porque la cantidad de registros me servia y solo queria ver los datos. Para modificarlos o trabajr sobre ellos tal ves te convenga trabajar con un vector de Recordset o definir varios (Rs - el nombre que yo utilice).
El fin de este ejemplo es mostrar la conexion con una tabla, llevarlos a una tabla(msflexgrid) de VB y por seleccion de selda enviar el contenido a un cuadro de texto.
Espero haberte podido ayudar.
Arnaldo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:enlazar access con visual

Publicado por angel (37 intervenciones) el 23/10/2005 21:31:33
gracias amigo que amable de tu parte !!! la verdad me sirvio mucho amigo te agradesco......ANGEL!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar