¿Consulta base de datos sin abrirla? No entiendo
Publicado por Ricardo (1 intervención) el 05/03/2019 16:33:18
Hola a todos:
Estoy aprendiendo como se programa en VB, lo ultimo que programé lo hice en Clipper y me estoy actualizando.
Ahora bien, estoy tratando de descifrar un programa que, resumido, hace lo siguiente:
- Desde VB de excel, abre una base de datos de firebird
- obtiene datos de algunas tablas
- Vacía los resultados en una hoja de excel.
Ya descifre parte del proceso, pero hay algo que no entiendo, ¿podrían ayudarme?
Entiendo que con estas lineas define las variables que contendrán las conexiones, el recordset y "strQry" recibe el resultado de las consultas hechas la base de datos, o algo asi :-D
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim strQry As String
Aqui viene lo raro. Abajo de donde se declaran las variables están estas lineas
strQry = strConsultaEnlace(Tienda, CDate(Fecha), FormaPago)
cnn.Open "DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=masterkey;DBNAME=SERVIDOR:D:/DAC/Datos/basededatos.FDB"
rst.Open strQry, cnn
Según yo la primer linea manda a la funcion "strConsultaEnlace", llevando los valores de 3 variables, en esa función el programa hace la consulta de la base de datos y carga el resultado en "srtQry"
La segunda linea usa la variable "cnn" para hacer la conexion con la base de datos....creo.
La tercera linea, usa la variable "str" como objeto para la conexion a la base de datos....creo.
Mi primer duda ¿Como puede el programa mandar a consultar la base de datos sin haber abierto la base de datos.? por que primero esta la linea que lleva a la función para consultar y luego está la linea para abrir la base de datos.....o sea, ¿como esa eso? no lo entiendo.
¿Me pueden ayudar? Gracias.
Estoy aprendiendo como se programa en VB, lo ultimo que programé lo hice en Clipper y me estoy actualizando.
Ahora bien, estoy tratando de descifrar un programa que, resumido, hace lo siguiente:
- Desde VB de excel, abre una base de datos de firebird
- obtiene datos de algunas tablas
- Vacía los resultados en una hoja de excel.
Ya descifre parte del proceso, pero hay algo que no entiendo, ¿podrían ayudarme?
Entiendo que con estas lineas define las variables que contendrán las conexiones, el recordset y "strQry" recibe el resultado de las consultas hechas la base de datos, o algo asi :-D
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim strQry As String
Aqui viene lo raro. Abajo de donde se declaran las variables están estas lineas
strQry = strConsultaEnlace(Tienda, CDate(Fecha), FormaPago)
cnn.Open "DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=masterkey;DBNAME=SERVIDOR:D:/DAC/Datos/basededatos.FDB"
rst.Open strQry, cnn
Según yo la primer linea manda a la funcion "strConsultaEnlace", llevando los valores de 3 variables, en esa función el programa hace la consulta de la base de datos y carga el resultado en "srtQry"
La segunda linea usa la variable "cnn" para hacer la conexion con la base de datos....creo.
La tercera linea, usa la variable "str" como objeto para la conexion a la base de datos....creo.
Mi primer duda ¿Como puede el programa mandar a consultar la base de datos sin haber abierto la base de datos.? por que primero esta la linea que lleva a la función para consultar y luego está la linea para abrir la base de datos.....o sea, ¿como esa eso? no lo entiendo.
¿Me pueden ayudar? Gracias.
Valora esta pregunta


0