Visual Basic Foro
Programación => Bases de Datos => Mensaje iniciado por: fernandos85al@hotmail.com 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:
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
-
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
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 ;)
-
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!!