Ayuda con SQL

Hola disculpe que lo moleste pero es que tengo un pequeño problema.. No se si me pueda ayudar lo que pasa es lo sig. Estoy realizando un pequeño sistema en Visual Basic 6.0 enalzado con SQL server 2000 estoy realizando unas búsquedas con tablas cruzadas y es que la verdad yo no había trabajado con SQL y se me esta complicando.
Tengo un formulario donde un combo (combo1) m despliega los eventos que existen en un lugar, al seleccionar 1 evento el combo2 aparecen los nombres de alumnos, al seleccionar un alumno me debe de desplegar el nombre de su trabajo en el combo 3 pero no c puede por que dice que los datos no son compatibles, me manda lo sig.
"Error de sintaxis al convertir el valor nvarchar 'nom. Del trabajo' para una columna de tipo de datos int"
El código que utilizo es el siguiente:
Public Sub RecuperaPlanta()
Set cmd2 = New ADODB.Command
Set rsDatos = New ADODB.Recordset
' Establecimiento de conexion
Set cmd2.ActiveConnection = cnn1
Dim idplanta
' Recupera id participante
cmd2.CommandText = "select planta from inscribe where participante = '" & Trim(Combo2.Text) & "' "
rsDatos.Open cmd2, , adOpenKeyset, adLockBatchOptimistic
idplanta = rsDatos!planta
rsDatos.Close
' existe alguna forma de saber si el evento esta activo???
cmd2.CommandText = "SELECT * from plantas where nombreplanta = " & idplanta
' aqui aplicar un filtro para evitar poner el participante si ya esta asignado a una
' habitación
rsDatos.Open cmd2, , adOpenKeyset, adLockBatchOptimistic
Combo4.Clear
Dim nres
If Not rsDatos.EOF Then
rsDatos.MoveFirst
Do While Not rsDatos.EOF
' agrega todos los participantes
Combo4.AddItem (rsDatos!planta)
rsDatos.MoveNext
Loop
End If
rsDatos.Close
End Sub
Espero y em pueda ayudar realmente me urge mucho, espero una respuesta pronta y de antemano le doy las gracias... Saludos

1 respuesta

Respuesta
1
Lo que sucede es que en un where de los querys que no pude identificar cual es en el código que colocaste, estas envoando un numero y el campo con el cual lo estas comparando es una cadena de caracteres.
Bueno y que me aconsejaría que hiciera.. ¿cómo puedo convertir los datos? ¿Me podría ayudar? Realmente me urge poder terminar esto de antemano se lo agradezco.. muchas gracias... ¿otar pregunta para eliminar puedo realizar lo mismo? solo que cambairle   DELETE por SELECT o no seria asi? Gracias
Para corregir el query tienes que verificar el tipo de dato del campo en tu tabla de la base de datos, yo no puedo decirte cual campo es pues no conozco la estructura de tu base de edatos. Eso lo tienes que hacer tu comparando los tipos de campo de la tabla con lo que estas enviando en el query.
El DELETE es algo como :
DELETE FROM Tabla WHERE Campoi = 1

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas