Problemas con un text

Estoy programando en visual basic 6.0 (sin adoc por los momentos), con una base de datos en access 97, dos tablas llamadas partes y repuestos donde un repuestos tiene muchas partes, es decir están realacionadas de uno a mucho el código de repuesto esta en la tabla partes.
mi problema es que cuando busco una parte ejemplo 2 me muestra en un text falso el nombre del repuestos, esta es la instruccion
nombrer.Text = SQL = "select nom_r from repuestos where cod_r.repuestos ='" + codr.Text + "'"
Pero lo que muestra es falso en el text
No se trabajar con adoc y primera vez que programo sql en visual en realidad no se si se declarar no se auxilio por favor
Respuesta
1
Ya se cual es tu problema, le estas asignando a nombrer.text un valor booleano, en ninguna parte estas accediendo a la base de datos a ejecutar la query.
Lo que tienes que hacer es lo siguiente:
Public Base As Object
Public Reg As Object
Public strConexion As String
Public strSQL As String
Public DirectorioBase As String
Public NombreBaseAccess As String
DirectorioBase = App.Path 'instruccion que devuelve ruta completa desde donde se ejecuta esta aplicacion
NombreBaseAccess = "base.mdb"
'String de conexion ADO, donde se indica Driver y Ruta del archivo access
strConexion = "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & DirectorioBase & "\" & NombreBaseAccess & ";Uid=Admin;Pwd=;"
Set Base = CreateObject("ADODB.Connection") 'Crea el objeto para referenciar a la base de datos
Base.Open strConexion 'abre la base de datos usando string de conexion
Set Reg = CreateObject("ADODB.Recordset") 'Se crea objeto recordset que contendra resultados de consulta
strSQL = "Select nom_r From repuestos where cod_r='" & codr.Text & "'" 'se ingresa a variable consulta sql
Reg.Open strSQL, Base 'Se envia peticion a base de datos
If Not Reg.EOF Then 'Si no es fin de archivo (EOF) entonces muestra datos capturados
   nombrer.Text = Reg("nom_r")
end if
Reg.Close 'cierra el objeto registro
Base.Close 'cierra la base de datos
Set Reg = Nothing 'desinstancia objeto recordset(libera espacio de memoria)
Set Base = Nothing 'desinstancia objeto Database(libera espacio de memoria)
Disculpa ese directorio base donde lo coloco
desce ese directorio base hasta lo ultimo donde lo coloco en que sub rutina disculpa pero soy india
Me faltó decirte que para este caso de ejemplo el archivo de base de datos debe estar en el mismo directorio desde donde se ejecuta la aplicación.
Respecto a tu pregunta, esa variable puede ir en cualquier parte. La idea siempre es escribir lo menos de código repetitivo, por lo cual seria buena idea crear un módulo donde dejar las variables globales que se usarán en el resto de la aplicación.
Tengo una aplicación de ejemplo que puedes mirar si quieres. Es una que estuve ayudando a un amigo, no esta completamebte terminada, pero tiene lo básico para que aprendas a moverte.
Envíame tu correo para mandarte el código.
Bueno mi correo es (xxxxxx)
De verdad espero me lo envíes te lo agradezco de antemano de verdad naize_lamorena por si a caso muchas gracias de verdad

2 respuestas más de otros expertos

Respuesta
1
Lo que sucede es que estas preguntando de SQL es igual a lo que esta entre comillas, por eso te da falso.
Para ejecutar una sentencia SQL debes utilizar ADO o DAO, eso te devueleve un recordset y del recordset le asocias los valores de las columnas o campos a tus controles.
Revísate el curso de VB6 del guille, lo encuentras en www.elguille.info, lo mejor, esta en español.
Respuesta
-1
Hace así papa:
nombrer.Text = "select nom_r from repuestos where cod_r.repuestos ='" + codr.Text + "'"
Listo el pollo... Nos vemos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas