Visual Basic - Pasar parametros a un Recordset (URGENTE!!!!)

Life is soft - evento anual de software empresarial
 
Vista:

Pasar parametros a un Recordset (URGENTE!!!!)

Publicado por Leonardo Daniel Micheli (19 intervenciones) el 18/02/2003 22:26:12
Necesito pasar como parametros un texto que esta contenido en un combobox como parametro a un recordset. Es decir, mi pregunta apunta a lo siguiente tengo una variable definida como String llamada DATO. Los combobox contienen el nombre de la columna referida a la Base de Datos, por ejemplo, TIPO DE MONEDA. La parte del codigo que tengo problemas es la siguiente:

RST1: Es el Recordset para acceder a la Base de Datos

CAMPO1.TEXT : Es un combobox que contiene el nombre de los campos de la base de datos seleccionados por el usuario

archivo = "c:\Facturacion" & "Cotiz" & Format(Date, "hhmmss") & ".txt"
Open archivo For Output As #1
Do Until rst1.EOF = True
If rst1.EOF = True Then
rst1.MoveFirst
Exit Do
End If
If campo1.Text <> "" then
dato = "rst1!" & campo1.text
End If
rst1.MoveNext
If rst1.EOF = True Then
rst1.MoveFirst
Exit Do
End If
Loop
If rst1.EOF = True Then
rst1.MoveFirst
End If
Close #1

El problema esta que cuando yo quiero grabar en el archivo me graba rst1!tipomoneda, en lugar de recorrer la base de datos y grabarme el contenido del campo TIPO DE MONEDA
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:Pasar parametros a un Recordset (URGENTE!!!!)

Publicado por Carlos Urrunaga (29 intervenciones) el 21/02/2003 15:46:35
Tu logica esta bien pero tu metodo tiene un pequeño error,tu no puedes llamar al recordset de esa manera si es q a la variable recordset lo metes dentro de unas comillas,si lo haces el VB lo tomara como una cadena ejemplo: dato = "rst1!" & campo1.text
Para poder hacer tru llenado de datos al archivo trata de hacerlo con indices o averiguando el nombre con la coleccion Fields,te eplico a continuacion:
Asi de esta manera intenta:
dim iCol%
For iCol%=0 to rst1.Fiels.Count-1
if Ucase( rst1.Fiels(iCol%).Name)=Ucase(Combo1.Text) Then
Exit For
End If
Next iCol%

dato = rst1.Fields(iCol%).Value

De esta manera averiguarias el indice del nombre del campo q estas buiscando....!!!

Espero te ayude en algo
------------------------
Super Saludos
C.U.
A.P.
Lima-Perú
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