SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: Magraciel en Martes 30 de Agosto de 2005, 01:49
-
ESTO ES LO QUE QUIERO HACER:
1.- TENGO UNA BASE DE DATOS SQL CON TABLAS, UNA DE ESAS TABLAS SE LLAMA ESPECIFICAR_CALENDARIO_PLAZOS, TIENE 3 CAMPOS: CÓDIGO_ESPECIFICAR, NOMBRE_PRUEBA, NOMBRE_CASO_PRUEBA.
2.- AL INGRESAR A LA APLICACION SE DEBE INGRESAR CON UN CODIGO QUE EL MISMO USUARIO INVENTA E INGRESA.
3.- ESE CODIGO ES PARA IDENTIFICAR AL USUARIO CON SUS DATOS.
4.- EN LA APLICACIÓN TENGO UN FORMULARIO1 CON UN TEXTBOX PARA INGRESAR EL NOMBRE_PRUEBA.
5.- ESTE NOMBRE DE PRUEBA SE ALMACENA EN EL CAMPO NOMBRE_PRUEBA Y CON EL CODIGO DE USUARIO EN EL CAMPO CODIGO_ESPECIFICAR EN LA TABLA ESPECIFICAR_CALENDARIO_PLAZOS.
6.- EN UN SEGUNDO FORMULARIO2 TENGO UN COMBOBOX Y UN TEXTBOX DONDE DEL COMBOBOX SE DESPLEGAN LOS NOMBRES DE LAS PRUEBAS QUE EL USUARIO INGRESO EN EL FORMULARIO1, OSEA LOS NOMBRE_PRUEBA DEL CODIGO DEL USUARIO (CODIGO_ESPECIFICAR) QUE INGRESO A LA APLICACIÓN, Y EN EL TEXTBOX SE INGRESA EL NOMBRE CASO DE PRUEBA.
7.- CUANDO SELECCIONO UNA PRUEBA DEL COMBOBOX, ESTA PRUEBA TENGO QUE BUSCARLA EN LA TABLA ESPECIFICAR_CALENDARIO_PLAZOS DONDE EN EL CAMPO_PRUEBA DEBE ESTAR LA PRUEBA SELECCIONADA DEL COMBOBOX Y EN EL CAMPO CODIGO_ESPECIFICAR DEBE ESTAR EL CODIGO DE USUARIO CON QUE INGRESE A LA APLICACION.
8.- AL ENCONTRAR EL CODIGO_ESPECIFICAR Y NOMBRE_PRUEBA VALIDO, SE PUEDE INSERTAR EN EL TERCER CAMPO NOMBRE_CASO_PRUEBA EL NOMBRE DEL CASO DE PRUEBA QUE INGRESARE EN EL TEXTBOX DEL FORMULARIO2.
ESO ES LO QUE QUIERO HACER PERO CON ESTE CÓDIGO NO ME RESULTA:
ESTE ES EL CODIGO DE SELECCION DEL COMBOBOX.
SQL = "Select Código_especificación,nombre_prueba From Especificar_calendario_plazos "
SQL = SQL & " Where Código_especificación = " & Cod
rs.Open SQL, cnn1, adOpenStatic
If rs!Código_especificación = Cod Then
MsgBox " coinciden las codigos", vbInformation
MsgBox Combo1.List(Combo1.ListIndex)
If rs!nombre_prueba = Combo1.Text Then
cnn1.Execute " insert into Especificar_calendario_plazos (nombre_caso_prueba) values ('" & in_caso_prueba & "' )"
Else
MsgBox " No coinciden las pruebas", vbInformation
End If
End If
AYUDA!!!!!!
-
Haber si te puedo ayudar Magraciel
segun lo que entiendo tienes que buscar un codigo en la base de datos.
Yo lo hago asi
With MiRec
.Find "CampoCodigo = " & CboCodigo
If Not .EOF Then
msgbox "Encontro el codigo en la BD"
else
msgbox "No lo encontro"
End If
End With
bueno esto es tan solo para encontrar el codigo del usuario dentro de la BD, ojo que esta linea es tan solo para busquedas de datos numericos
.Find "CampoCodigo = " & CboCodigo
Ahora que lo encontraste deberias tener una bandera (por ejemplo una viarable llamado EncontradoUsuario de tipo integer) y si esta bandera lo encuentra le asignas un uno de lo contrario quedaria en 0
Luego de esto añades la informacion al campo faltante creoo que eso seria todo... de todas maneras seria bueno que pusieras el error que te envia la aplicacion si es que te arroja algo.
Bueno espero haberte ayudado.
Saludos desde Viña del Mar, CHILE
-
Bueno te entendi la idea pero lo que queria hacer era buscar el nombre de la prueba en la base de dato que previamente selecciono en el combobox.
Y esa linea de codigo que busca el codigo pero solo acepta variables integer , yo necesito una linea de codigo para buscar datos string como seria en ese caso.
gracias dreams por tu tiempo.
-
haber aqui te envio para busquedas de string:
.Find "NOMBRE='" & CboCombo.Text & "'"
Ojo: despues del igual es comilla simple luego comilla doble y al final es comilla doble luego comilla simple y finalmente comilla doble.
Bueno espero haberte ayudado
Suerte
Saludos desde Viña del Mar, CHILE
-
Sabes que coloque este código en la parte de combo1.click para seleccionar el nombre de prueba y buscarla en la base de datos y ademas insertar el caso de prueba donde esta la prueba y el codigo correspondiente pero no me resulta ....
ESTE ES EL CODIGO:
Private Sub Combo1_Click()
Dim Sql As String
Call conexion(cnn1)
Set rs = Nothing
Sql = "Select Código_especificación,nombre_prueba From Especificar_calendario_plazos "
Sql = Sql & " Where Código_especificación = " & Cod
rs.Open Sql, cnn1, adOpenStatic
With rs
.Find "nombre_prueba='" & Combo1.Text & "'"
If Not .EOF Then
MsgBox "Encontro la prueba "
cnn1.Execute " update Especificar_calendario_plazos set nombre_caso_prueba='" & in_caso_prueba & "' where nombre_prueba='" & Combo1.Text & "'"
Else
MsgBox "No encontro la prueba"
End If
End With
End Sub
ESTA ES LA TABLA QUE TENGO EN LA BASE DE DATO:
Código_especificación nombre_prueba nombre_caso_prueba
170380 pruebaejemplo
CON ESTE CODIGO NO ME TIRA NINGUN ERROR, AL SELECCIONAR EL NOMBRE DE PRUEBA DEL COMBOBOX (pruebaejemplo)ME MUESTRA EL MENSAJE ENCONTRO LA PRUEBA, Y DESPUES DEBO INGRESAR EL CASO DE PRUEBA EN UN TEXTBOX.
DESPUES VEO LA BASE DE DATO Y ME MUESTRA QUE INSERTO OTRO REGISTRO CON EL CODIGO Y EL CASO DE PRUEBA, PERO EL CAMPO NOMBRE PRUEBA ESTA VACIO, ESO NO ES LO QUE DEBIERA HACER.
ESTO ES LO QUE ME MUESTRA EN LA TABLA O LO QUE HACE ESTE CODIGO
Código_especificación nombre_prueba nombre_caso_prueba
170380 pruebaejemplo
170380 casopruebaejemplo
ME ENTIENDES?? AYUDAME A SOLUCIONAR EL PROBLEMA PORFAVOR..
-
haber haber nose entiende mucho pero por lo que me di cuenta en ningun momento le asignas la caja de texto al registro que tu dices nombre_caso_prueba.
cnn1.Execute " update Especificar_calendario_plazos set nombre_caso_prueba='" & in_caso_prueba & "' where nombre_prueba='" & Combo1.Text & "'"
Aqui que es lo que estas haciendo
Lo que yo haria seria algo asi:
With rs
.Find "nombre_prueba='" & Combo1.Text & "'"
If Not .EOF Then
MsgBox "Encontro la prueba "
If .Fields("nombre_prueba") = Combo1.text Then 'esto tan solo para ratificar que estoy en el registro correcto
!nombre_caso_prueba=Caja de texto donde tienes el nombre de la prueba
end if
Else
MsgBox "No encontro la prueba"
End If
End With
Algo asi como una modificacion....
ojala que te sirva de algo o por lo menos que te de alguna idea
Nos vemos
Suerte
Saludos desde Viña del Mar, CHILE