Ver Mensaje Individual
  #4 (permalink)  
Antiguo 27/11/2008, 02:34
Avellaneda
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: urgente problemas con recordcount

Cita:
Iniciado por mumo2006 Ver Mensaje
Estimado.
lamentablemente lo borré porque me aburri de esa parte y seguí avanzando, pero como bien sabemos el validar entrada de datos es demasiado importante.

Dejo aqui algo del codigo en el cual el cod_agend es la clave primaria por la cual deseo consultar si ya existe antes de guardar datos en la tabla tb_agendamiento


Donde deberia ir una validacion, o mas bien de que tipo o que codigo deberia agregar antes de ese insert???
Agradecería de su experiencia y ayuda, ya que esto me esta colapsando, muchisimas gracias.



Private Sub Command1_Click()
If Label9.Caption = "" Or Label11.Caption = "" Or Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Or Text4.Text = "" Or Text5.Text = "" Or Text6.Text = "" Or Combo2.Text = "" Or Combo3.Text = "" Or Combo4.Text = "" Or Combo5.Text = "" Then
MsgBox "Por favor ingrese todos los datos solicitados"
Else
Dim mensaje As String
mensaje = MsgBox("Esta de seguro de guardar estos datos?", 4164)

If mensaje = 6 Then

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 = "INSERT INTO tb_agendamiento(cod_agend,rut_cliente,nom_cliente, dom_cliente,contacto_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)
con.Close

End If
End If
End Sub
Hola, puedes hacer una consulta previa a la tabla para verificar si el código ya existe.

Podría ser algo así:

Código:
Private Sub Command1_Click()
If Label9.Caption = "" Or Label11.Caption = "" Or Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Or Text4.Text = "" Or Text5.Text = "" Or Text6.Text = "" Or Combo2.Text = "" Or Combo3.Text = "" Or Combo4.Text = "" Or Combo5.Text = "" Then
    MsgBox "Por favor ingrese todos los datos solicitados"
Else
    '''' yo esto lo eliminaría, pues su supone que si ha pulsado el botón de guardar
    '''' es porque realmente los quiere guardar
    'Dim mensaje As String
    'mensaje = MsgBox("Esta de seguro de guardar estos datos?", 4164)
    'If mensaje = 6 Then

    Dim con As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    '   Dim txtsql As String
    con.Open ("dsn=bodega")
    '   On Error Resume Next
    rs.Open "SELECT Count(*) FROM tb_agendamiento WHERE cod_agend = " & Text4.Text, con
    ''' recuerda que si el campo es de tipo texto, lo tienes que encerrar entre comillas simples
    If rs(0) > 0 Then
        MsgBox "El código ya existe"
    Else
        con.Execute "INSERT INTO tb_agendamiento(cod_agend,rut_cliente,nom_cliente, dom_cliente,contacto_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)
        'con.Close
    End If
    Set rs = Nothing
    con.Close
End If

End Sub

Última edición por Avellaneda; 27/11/2008 a las 04:25 Razón: Olvidé poner la conexión al recordset