![]() |
Ayuda con datagrid necesito cargar en una grilla los datos que tengo en una tabla, para conectarme utilizo la siguiente conexion. Dim cnn As New ADODB.Connection Dim rec As New ADODB.Recordset cnn.Open "Provider=SQLOLEDB;" & _ "Data Source=(local);" & _ "Initial Catalog=mermas;", "sa", "" rec.Open "select * from PRODUCTOS", cnn, _ adOpenKeyset, adLockOptimistic alguien podria echarme una manito. |
Bueno, segun mi experiencia, no podes conectar una DataGrid a un objeto connection o recordset, sino que la DataGrid la conectas a un Adodc (ADO Data Control), y en las propiedades de este objeto estableces la cadena de conexion y el RecordSource, y la DataGrid la conectas al Adodc mediante la propiedad DataSource, algo asi: Código: Adodc1.ConnectionString = "Provider=SQLOLEDB;" & "Data Source=(local);" & "Initial Catalog=mermas;", "sa", ""Saludos :adios: |
Yo se que se puede hacer con un Recordset desconectado, encontre este ejemplo realizado con una base de datos en access, pero mi problema es que no puedo realizar el mismo procedimiento con una bd en sql server. dejo el codigo de ejemplo Código: Option Explicit |
en que parte asignas el recordset al datagrid? Set DataGrid1.DataSource = rec |
Cita:
sip, lo asigno tal cual tu dices, pero me arroja un error al momento de hacerlo |
En que parte del programa te marca el error? al asigar el recordset al datagrid? |
Cita:
|
A ver intenta cambiar las proiedades del record set con estas: Código: rec.CursorType = adOpenStatic |
pego el codigo para ver mejor lo que estoy haciendo Código: Option Explicit |
Cambia esto Código: rst.Open "SELECT id_prod FROM PRODUCTOS", cnn, adOpenDynamic, adLockOptimisticCódigo: rst.Open "SELECT id_prod FROM PRODUCTOS", cnn, adOpenStatic, adLockBatchOptimistic |
encontre una solucion a mi problema, y fue cargar en el form_load lo sgte la duda que tengo, es como hago para que la grilla se actualize despues que guarde los nuevos registros. gracias por orientarme, me sirvio para ver donde estaba mi error [code] Option Explicit ' ---------------------------------------------------------- ' Declaro el objeto MiConexion como una variable de módulo. ' Cuando se instancie será la conexión con la base de datos. ' ---------------------------------------------------------- Dim MiConexión As ADODB.Connection ' ---------------------------------------------------------- ' Al cargarse el Formulario hago el trabajo. ' (Aquí, a lo sumo, solo debería establecerse la conexión con la base de datos, ' y las demás cosas se deberían hacer en otro lado, ' pero este es solo un ejemplo sencillo) ' ---------------------------------------------------------- Private Sub Form_Load() ' ---------------------------------------------------------- ' Instancio la conexión y me conecto con la base de datos ' ---------------------------------------------------------- Set MiConexión = New ADODB.Connection With MiConexión ' Cursor en Cliente para poder usar un DataGrid .CursorLocation = adUseClient ' Abro la conexión con la base de datos usando un DSN .Open "Provider=SQLOLEDB;" & _ "Data Source=(local);" & _ "Initial Catalog=mermas;", "sa", "" End With ' ---------------------------------------------------------- ' Especifico qué información quiero de la base de datos ' ---------------------------------------------------------- Dim SQL As String SQL = "SELECT id_prod, nom_prod" & vbCrLf & _ "From PRODUCTOS" & vbCrLf ' ---------------------------------------------------------- ' Cargo el recordset con la información proveniente de la base de datos ' ---------------------------------------------------------- Dim rs As ADODB.Recordset Set rs = MiConexión.Execute(SQL) ' ---------------------------------------------------------- ' Muestro la información en el DataGrid ' ---------------------------------------------------------- Set DataGrid1.DataSource = rs End Sub [code/] |
Enlazar A Datagrid Cita:
Dim cnn as New ADODB.Connection Dim rs as New ADODB.Recordset Private Sub Form_Load() ' Linea de connexión a la BD strSQL ="Select *from Productos" rs.cursorLocation=AdUseClient rs.Open strSQL,cnn, AdOpenStatic, AdLockReadOnly set Datagrid1.Datasource=rs End Sub Ejecuta el Form Suerte... |
| La zona horaria es GMT -6. Ahora son las 09:24. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.