Visual Basic - Fallo de ueryDef

Life is soft - evento anual de software empresarial
 
Vista:

Fallo de ueryDef

Publicado por Leocam (12 intervenciones) el 17/01/2007 11:21:59
Vuelve el perro arrepentido.... Sigo con mi problema de los QueryDef, los Recordset, los OpenRecordset. Necesito tomar los Value almacenados en la consulta. Ahora el error no se da en la consulta sino en los Fields. Cuando ejecuto el siguiente código me indica:

Error de compilación. No coinciden los tipos.

Sub NumCliente_AfterUpdate()
On Error GoTo Err_NumCliente_AfterUpdate
Dim Db As Database
Dim QCI As QueryDef
Dim DataName As QueryDef
Dim GetClientName As String
Dim LocationDb As String

LocationDb = "C:\Cambios de Maquina\manoli\manoli.mdb"
Set Db = OpenDatabase(LocationDb, False)
Set QCI = Db.QueryDefs("ConsultaDatosCliente")
Set DataName = QCI.Fields(0).Value
Db.Close

'EL FALLO OCURRE AQUI' GetClientName = DataName

Forms.SolCambioMaquina!NombreCliente.Value = GetClientName

GetClientName esta dimensionado como String porque el valor almacenado es una cadena de texto. Si lo dimensiono como Variant entonces el fallo cambia a "Se ha producido el error '3219' en tiempo de ejecución: Operación No valida" y ocurre antes:

Sub NumCliente_AfterUpdate()

Dim Db As Database
Dim QCI As QueryDef
Dim DataName As QueryDef
Dim GetClientName As Variant
Dim LocationDb As String

LocationDb = "C:\Cambios de Maquina\manoli\manoli.mdb"
Set Db = OpenDatabase(LocationDb, False)
Set QCI = Db.QueryDefs("ConsultaDatosCliente")

'EL FALLO OCURRE AQUI' Set DataName = QCI.Fields(0).Value

Db.Close
GetClientName = DataName
Forms.SolCambioMaquina!NombreCliente.Value = GetClientName

Como puedo solventar esto y recuperar los valores almacenados en mi Consulta de Access para pasarlos a unos TextBox de un formulario?
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