Autor Tema: Sql + Insert Into + where  (Leído 3045 veces)

0 Usuarios y 1 Visitante están viendo este tema.

fernandos85al@hotmail.com

  • Kilobyte
  • **
  • Mensajes: 71
  • Reputación: +3/-3
    • Ver Perfil
Sql + Insert Into + where
« en: Enero 18, 2011, 06:00:16 pm »
Hola gente, disculpen mi ignorancia, tengo una duda...

Tengo una base de datos, con una tabla donde se deberian cargar datos de personas,Id,  Apellido, Nombre, etc

El Tema es que en el campo Id lo tengo como Numerico, No como autonumerico, y si la tabla esta vacia, se genera un error al tratar de comenzar a ingresar datos.

La solucion que encontre es que al iniciar un formulario de vb6, en el evento Load()
inserte un nuevo Id, si la tabla esta vacia...


Al cargar el formulario, Tengo varios TextBox: txtId(que esta ahora en 1), txtApellido(Vacio), txtNombre(vacio), al ingresar un apellido y un nombre: ejemplo: Pepito, perez, y al hacer click en algun commandbutton (CmdGuardar) deberia guardarse en la tabla, con el Id(1) al ser el `primer registro. Inserto datos con Insert iNTO,  y queria hacer que cumpla con la condicion where, como se hace esto??? es posible???



algo como esto:



Código: [Seleccionar]
Private Sub Form1_Load()
Insert Into tabla1(Id, Apellido, Nombre) Values(1, 'Perez', 'Pepito') where Id='1'





me explico???



si alguien me puede aclara la duda, desde ya le agradezco, me estoy quemando las pocas neuronas que tengo, jeje


Saludos cordiales a todas y todos

wolf_kof

  • Visitante
Re:Sql + Insert Into + where
« Respuesta #1 en: Enero 18, 2011, 07:10:46 pm »
Primero necesito saber que tipo de tabla estas ocupando access mysql firebirdsql post....

Segundo yo te aconsejaria que trabajaras con ado y sus sentencias por ejemplo este es un codigo simple de un formulario que tengo de prueba

Código: (vb) [Seleccionar]
Option Explicit
Dim cinventario As New ADODB.Recordset
Dim kardex As New ADODB.Recordset
Dim estado As String



Private Sub cancelar_Click()
Call limpiar
Call bloquear
estado = "nada"
End Sub

Private Sub eliminar_Click()
If estado = "editar" Then
    kardex.AddNew
    kardex!fecha = Date
    kardex!hora = Time
    kardex!usuario = users
    kardex!maquina = maquina
    kardex!evento = "inventario"
    kardex!descripcion = "eliminacion del producto" & " " & t2.Text
    kardex!monto = "0.00"
    kardex.Update

cinventario.Delete
estado = "nada"

End If
    cinventario.Filter = ""
    cinventario.Requery -1
    Call llenar
End Sub

Private Sub Form_Load()
On Error Resume Next
Me.Move (principal.Width - Me.Width) \ 2, 150
cinventario.Open "select * from inventario", data, adOpenDynamic, adLockOptimistic
kardex.Open "select * from kardex", data, adOpenDynamic, adLockOptimistic
Call llenar
End Sub

Private Sub Form_Unload(Cancel As Integer)
cinventario.Close
kardex.Close
Set kardex = Nothing
Set cinventario = Nothing
End Sub

Private Sub guardar_Click()
If estado = "nuevo" Then
    cinventario.AddNew
    cinventario!producto = t2.Text
    cinventario!costo = t3.Text
    cinventario!p_venta = t4.Text
    cinventario!descuento = t6.Text
    cinventario!stock = t5.Text
    cinventario!codigo = t1.Text
    cinventario.Update
   
    kardex.AddNew
    kardex!fecha = Date
    kardex!hora = Time
    kardex!usuario = users
    kardex!maquina = maquina
    kardex!evento = "inventario"
    kardex!descripcion = "ingreso de producto" & " " & t2.Text
    kardex!monto = "0.00"
    kardex.Update
   
    End If
        If estado = "editar" Then
        cinventario!producto = t2.Text
        cinventario!costo = t3.Text
        cinventario!p_venta = t4.Text
        cinventario!descuento = t6.Text
         cinventario!stock = t5.Text
      cinventario!codigo = t1.Text
      cinventario.Update
     
        kardex.AddNew
        kardex!fecha = Date
        kardex!hora = Time
        kardex!usuario = users
        kardex!maquina = maquina
        kardex!evento = "inventario"
        kardex!descripcion = "modificacion del producto" & " " & t2.Text & " " & "con codigo: " & t1.Text
        kardex!monto = "0.00"
        kardex.Update
     
      cinventario.Filter = ""
        End If
       
       
       
Call llenar
Call bloquear
Call limpiar

End Sub

Sub desbloquear()
t1.Locked = False
t2.Locked = False
t3.Locked = False
t4.Locked = False
t5.Locked = False
t6.Locked = False
End Sub
Sub bloquear()
t1.Locked = True
t2.Locked = True
t3.Locked = True
t4.Locked = True
t5.Locked = True
t6.Locked = True
End Sub
Sub limpiar()
t1.Text = ""
t2.Text = ""
t3.Text = ""
t4.Text = ""
t5.Text = ""
t6.Text = ""
End Sub

Private Sub ListView1_DblClick()
On Error Resume Next
cinventario.Filter = "codigo= '" & ListView1.SelectedItem & "'"
t1.Text = cinventario!codigo
t2.Text = cinventario!producto
t3.Text = cinventario!costo
t4.Text = cinventario!p_venta
t5.Text = cinventario!stock
t6.Text = cinventario!descuento
estado = "editar"
Call desbloquear
End Sub

Private Sub nuevo_Click()
Call desbloquear
estado = "nuevo"
Call limpiar
t1.SetFocus
End Sub

Sub llenar()
With ListView1
    .ColumnHeaders.Clear
    .ListItems.Clear
    .ColumnHeaders.Add 1, , "CODIGO", 1400
    .ColumnHeaders.Add 2, , "PRODUCTO", 4000
    .ColumnHeaders.Add 3, , "COSTO", 1500, 2
    .ColumnHeaders.Add 4, , "P_VENTA", 1500, 2
    .ColumnHeaders.Add 5, , "DESCUENTO", 1500, 2
    .ColumnHeaders.Add 6, , "STOCK", 1500, 2
       
    Do Until cinventario.EOF
    .ListItems.Add 1, , cinventario!codigo
    .ListItems(1).ListSubItems.Add 1, , cinventario!producto
    .ListItems(1).ListSubItems.Add 2, , cinventario!costo
    .ListItems(1).ListSubItems.Add 3, , cinventario!p_venta
    .ListItems(1).ListSubItems.Add 4, , cinventario!descuento
    .ListItems(1).ListSubItems.Add 5, , cinventario!stock
   
cinventario.MoveNext
Loop

End With


End Sub

Private Sub PushButton1_Click()
Unload Me

End Sub


a parte tengo un ejemplo de bases de datos con ado en el foro bases de datos chequealo y me contas  ;)

fernandos85al@hotmail.com

  • Kilobyte
  • **
  • Mensajes: 71
  • Reputación: +3/-3
    • Ver Perfil
Re:Sql + Insert Into + where
« Respuesta #2 en: Enero 19, 2011, 01:38:52 pm »
Hola wolf_kof , mil gracias por tu respuesta tan pronta, amigo!! Uso Access, por que me resulta mas comodo, por lo que veo, no salio todo el codigo de ejemplo que puse para que puedan ver..pero bueno, no importa..He visto un programita de gestion de hoteleria en esta secciòn, que tu posteaste, Esta muy bueno, muy bonita la interfaz, aunque me da erroreres, pero nada que no se pueda solucionar, vi algo similar que le pasaba a Ivan, voy a ver si lo puedo solucionar..


Desde ya muchas, infinitas gracias, y por la ayuda con el winsock multiconexion, pude agregar algunas cosas a mi proyecto, que tenia un concepto equivocado en algunas cosas!!! mil gracias!!!


Saludos cordiales, desde la Patgonia Argentina, provincia del Chubut.. EL SUR EXISTE, JEJE!!