Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Porque marca error 40002 en ejecución en Visual Basic

Estas en el tema de Porque marca error 40002 en ejecución en Visual Basic en el foro de Visual Basic clásico en Foros del Web. Mi problema es que necesito asignar a un text el nombre de un curso dependiendo de la clave de curso que se elige, en la ...
  #1 (permalink)  
Antiguo 03/01/2009, 02:55
 
Fecha de Ingreso: enero-2009
Mensajes: 2
Antigüedad: 15 años, 3 meses
Puntos: 0
Porque marca error 40002 en ejecución en Visual Basic

Mi problema es que necesito asignar a un text el nombre de un curso dependiendo de la clave de curso que se elige, en la forma principal si me carga las claves en el combo, pero cuando intento asignar al text lo que elijo del combo en el evento click me marca error 40002 en ejecución: 22005[Microsoft][controlador ODBC Microsoft access] no coinciden los tipos de datos en la expresión de criterios y al depurar me marca error el la linea
..........................este es el codigo que estoy utilizando..
Set Rs = Cn.OpenResultset(Cs, rdOpenKeyset, rdConcurReadOnly, rdExecDirect)
Del evento click del combo

Tambien entiendo que hay algun error en la linea de la consulta
Cs = "select nom_curso from cursos where cve_curso = " & Combo1.Text & " "


Codigo del module

Option Explicit
Global En As rdoEnvironment
Global Cn As rdoConnection
Global Rs As rdoResultset
Global Cs As String



Sub ConectarBd()

Set En = rdoCreateEnvironment("Cede", "", "")
Set Cn = En.OpenConnection("Cede", rdDriverNoPrompt, False)
End Sub

'***********************
'* Conexion al servidor *
'***********************
Private Sub Form_Initialize()

Call ConectarBd
End Sub


Private Sub Form_Load()

'Carga las claves de los cursos
Cs = "select cve_curso from cursos"
Set Rs = Cn.OpenResultset(Cs, rdOpenKeyset, rdConcurReadOnly, rdExecDirect)
While Not Rs.EOF
Combo1.AddItem (Rs!cve_curso)
Rs.MoveNext
Wend
Rs.Close

End Sub

Private Sub Combo1_Click()
'Carga los nombres de los cursos dependiendo de la clave del curso
Cs = "select nom_curso from cursos where cve_curso = " & Combo1.Text & " "
Set Rs = Cn.OpenResultset(Cs, rdOpenKeyset, rdConcurReadOnly, rdExecDirect)
Text1.Text = (Rs!nom_curso)
Rs.Close
End Sub

agradeceria su ayuda a la brevedad
maili
  #2 (permalink)  
Antiguo 03/01/2009, 03:43
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 2 meses
Puntos: 37
Respuesta: Porque marca error 40002 en ejecución en Visual Basic

Cita:
Iniciado por maili Ver Mensaje
Mi problema es que necesito asignar a un text el nombre de un curso dependiendo de la clave de curso que se elige, en la forma principal si me carga las claves en el combo, pero cuando intento asignar al text lo que elijo del combo en el evento click me marca error 40002 en ejecución: 22005[Microsoft][controlador ODBC Microsoft access] no coinciden los tipos de datos en la expresión de criterios y al depurar me marca error el la linea
..........................este es el codigo que estoy utilizando..
Set Rs = Cn.OpenResultset(Cs, rdOpenKeyset, rdConcurReadOnly, rdExecDirect)
Del evento click del combo

Tambien entiendo que hay algun error en la linea de la consulta
Cs = "select nom_curso from cursos where cve_curso = " & Combo1.Text & " "


agradeceria su ayuda a la brevedad
maili
Hola, si el campo cve_curso es numérico, escribe la consulta así:

Cs = "select nom_curso from cursos where cve_curso = " & Combo1.Text

Si no lo es, lo pones entre comillas simples:

Cs = "select nom_curso from cursos where cve_curso = '" & Combo1.Text & "'"


Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:04.