RE:Buenas tardes.necesito ayuda
Hola Javier...
Mira, para hacer una conexión a una DB en VB te recomiendo que utilices ADO.
ADO es una librería que te provee de un grupo de objetos con los que podrás acceder fácilmente a una BD, ya sea de Access, SQL Server, FOX, Oracle, y otras tantas. Para poder utilizarla, primero debes "referenciarla" desde Proyecto / Referencias... Allí buscas "Micorsoft ActiveX Data Objects 2.x Library" (donde 2.x puede ser 2.0, 2.1, 2.5, 2.6, 2.7, 2.8). Una vez hecho esto, debes establecer una conexion con la base de datos. Para ello tienes el objeto Connection. Ejemplo (para una base Access)
'Esta variable debe ser global al módulo en el que estás
Dim cn As New ADODB.Connection
Private Sub ConectarBase
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\MiBase.mdb;Jet OLEDB:Database Password=MiPassword"
cn.Open
End Sub
Para una base SQLServer sería:
Private Sub ConectarBase
Dim cn As New ADODB.Connection
cn.ConnectionString = "Provider=SQLOLEDB.1;Password=MiPassword;Persist Security Info=True;UID=MiUsuario;Initial Catalog=MiBase;Data Source=MiServidorSQL"
cn.Open
End Sub
Ahora sólo resta poder hacer consultas SQL para trabajar con los datos. Esto lo haces a través del objeto rercordset, que tiene un método "Open" (los parámetros que te vana interesar ahora son la consulta y la conexion)con el cual ejecutas una consulta SQL, y te devuelve los resultados.En un recordset se recorren secuencialmente los registros devueltos por la consulta a través de los métodos "MoveFirst", "MoveLast", "MoveNext", y "MovePrevious". Una vez devueltos los datos, el objeto recordset tiene una propiedad "Fields", la cual es una colecion de objetos "Field" los cuales representan a cada una de las columnas de los registros. Ejemplo
Private Sub consultaSQL
Dim rs as New ADODB.Recordset
rs.open "SELECT Codigo, Detalle, Precio FROM Articulos", cn
'EOF me dice si está al final del recordset (si el recordset está vacío
'significa que está en el final, y también se pone en true)
Do While rs.EOF = false
msgbox rs.Fields("Codigo") & " " & rs.Fields("Detalle")
'Me muevo al próximo registro
rs.MoveNext
Loop
End Sub
Bueno Javier... más allás de esto en un foro no puedo. Cualquier cosa mándame un mail y te paso un pequeño ejemplo