
16/11/2008, 09:24
|
Colaborador | | Fecha de Ingreso: enero-2008 Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 17 años, 3 meses Puntos: 37 | |
Respuesta: Problemas con consulta desde VB a access 2003 Cita:
Iniciado por mumo2006 Estimados.
Tengo un problema al comparar una consulta hacia una tabla de acces 2003.
Adjunto:
Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim txtsql As String
con.Open ("dsn=bodega")
On Error Resume Next txtsql = "select * from tb_agendamiento where cod_agend = '" & Text4.Text & "' " Set rs = con.Execute(txtsql)
If rs.RecordCount > 0 Then
MsgBox "El codigo de agenadmiento (" & Text4.Text & ") ya existe..!"
con.Close
'Exit Sub
Else
txtsql = "INSERT INTO tb_agendamiento (cod_agend,rut_cliente,nom_cliente,dom_cliente,con tacto_cliente,modelo_equipo,simcard,dia_agend,mes_ agend,año_agend,nom_usuario)Values('" & Text4 + "','" & Text6 + "','" & Text1 + "','" & Text3 + "','" & Text5 + "','" + Label9 + "','" + Combo2.Text + "','" + Combo3.Text & "','" + Combo4.Text & "','" + Combo5.Text & "','" + Label22 + "')"
Set rs = con.Execute(txtsql)
End If
El problema no es la conexion, si no que la consulta que al parecer esta mal estructurada. Ya que a la hora de guardar un registro nuevo pero en el cual el codigo de agendamiento es el mismo deberia arrojar el mensaje de que ya existe. En la tabla esta como clave primaria, por no cual no permite duplicidad. Ademas esta en formato texto.
O puede que este mal el formato de condicion en rs.RecordCount?
Que puedo hacer?
Gracias Hola, pon el tipo de cursor del lado cliente, sino siempre el valor de RecordCount será -1 Dim rs As New ADODB.Recordset
rs.CursorLocation = adUseClient
y elimina la instrucción con.Close porque dará error al hacer el INSERT si la conexión está cerrada. |