Visual Basic - Problemas al insertar validando

Life is soft - evento anual de software empresarial
 
Vista:

Problemas al insertar validando

Publicado por Carlos (53 intervenciones) el 03/09/2003 18:55:47
Qué tal? mi problema es que quiero mandar un mensaje de error cuando el usuario trate de insertar algun elemento cuya clave primaria ya existe, utilizo el siguiente código el cual siempre me manda el mensaje de error

Dim inserta As String
Dim revisa As String
Dim base As New ADODB.Recordset
Set base = New ADODB.Recordset
inserta = "INSERT INTO proyecto VALUES (" & Form2.cod_proy.Text & ", '" & Form2.nomb_proy.Text & "', '" & dia & "/" & mes & "/" & ano & "', '" & Form2.ciudad_proy.Text & "', '" & Form2.estado_proy.Text & "' , '" & Form2.desc_proy.Text & "', '" & Form2.cliente.Text & "')"
revisa = "SELECT codigo from proyecto WHERE codigo = " & Form2.cod_proy.Text & ""
Call connection
base.Open revisa, Cn
If base.RecordCount <> 0 Then
MsgBox " Cambie el código del proyecto, ya este existe ", vbCritical, "Error de datos" 'SIEMPRE ME MANDA ESTE MENSAJE
Else
Cn.Execute (inserta)
Unload Me
MsgBox " Los datos se cargaron correctamente ", vbExclamation, " Correctos "
Form1.Show
End If
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

RE:Problemas al insertar validando

Publicado por Bnja (1 intervención) el 04/09/2003 05:33:23
Creo q debes poner el caracter ' :
codigo = " & Form2.cod_proy.Text & ""
es decir: Algo asi:
codigo = ' " & Form2.cod_proy.Text & " ' "
siempre q compares el texto
y ponle base.recordcount > 0
Ojala sea eso......suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas al insertar validando

Publicado por Carlos (53 intervenciones) el 05/09/2003 04:14:21
Que va chamo de todas maneras gracias no puedo poner este caracter ' ya que eso es para comparar cuando es string y en este caso es numérico, y tampoco sirve con el base.recordcount > 0 en este caso cuando pongo uno repetido me da error igual, de todas maneras gracias...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas al insertar validando

Publicado por Bnja (2 intervenciones) el 06/09/2003 00:34:12
Si es de tipo integer ponle Cint(Form2.cod_proy.Text) para asegurarte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas al insertar validando

Publicado por Carlos (53 intervenciones) el 07/09/2003 19:42:54
Oye gracias de nuevo por responderme utilicé este comando que me diste y parece que no lo reconoce me dice que "no se han especificado los valores para algunos de los parámetros requeridos"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas al insertar validando

Publicado por Livingstone (5 intervenciones) el 08/09/2003 17:44:35
Hola que tal, creo que el problema radica en que no estas ejecutando la variable inserta que tiene la consulta sql inserta = "INSERT INTO proyecto VALUES (" & Form2.cod_proy.Text & ", '" & Form2.nomb_proy.Text & "', '" & dia & "/" & mes & "/" & ano & "', '" & Form2.ciudad_proy.Text & "', '" & Form2.estado_proy.Text & "' , '" & Form2.desc_proy.Text & "', '" & Form2.cliente.Text & "')", Primero debes ejecutar esta y después revisa, por otro lado porque no utilizas el AddNew del recorset en vez de Insert Into y por ultimo debes colocar base.RecordCount >0 porque cuando el recordset genera un error el recordcount devuelve -1. Espero que te sirva suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas al insertar validando

Publicado por Carlos (53 intervenciones) el 09/09/2003 16:45:03
Gracias por responder, intente lo que dices pero no te entiendo, no puedo ejecutar primero la sentencia porque me da el error del manejador en caso de que este repetido
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar