Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Correlativo

Estas en el tema de Correlativo en el foro de Visual Basic clásico en Foros del Web. Hola Amigos Tengo La Siguiente Duda, En Una Base De Acces Tengo Un Campo Nro_cargo Acompañado De Campos Como Nombre - Direccion - Ciudad Etc., ...
  #1 (permalink)  
Antiguo 14/07/2006, 13:31
 
Fecha de Ingreso: julio-2006
Mensajes: 5
Antigüedad: 17 años, 9 meses
Puntos: 0
Correlativo

Hola Amigos

Tengo La Siguiente Duda, En Una Base De Acces Tengo Un Campo Nro_cargo Acompañado De Campos Como Nombre - Direccion - Ciudad Etc., En Visual Basic, En Un Form Solo Tengo Cajas De Texto Con Los Campos Nombre - Direccion - Ciudad Y Los Demas Y El Nro_cargo Esta Asociado A Un Label, Bueno La Pregunta Es Si Me Pueden Decir Como Puedo Hacer Para Que Al Hacer Clik En Un Commanbuton Me Vaya Aumentando En Un Numero El Campo Nro_cargo Y Se Almacene En Al Bd, Sin Que Yo Tenga Que Ingresarlo, Yo Solo Ingreso Los Textos Como Nombre - Direccion Y Demas, Y Que Me De Un Mensaje, Ejemplo " Ha Ingresado El Cargo Nro Xxx", Favor Si Me Ayudan

Un Eterno Agradecido De Uds,
  #2 (permalink)  
Antiguo 14/07/2006, 14:07
Avatar de jc_moty  
Fecha de Ingreso: septiembre-2005
Ubicación: Usulután, El Salvador
Mensajes: 477
Antigüedad: 18 años, 7 meses
Puntos: 1
Lo mas facil es que el campo Nro_cargo sea de tipo Autonumerico; ya que cada vez que insertas un registro el solo se incrementa.
Pero si no lo tenes asi o no lo queres hacer asi; lo que podes hacer es tomar el valor maximo de este campo y a este valor sumarle 1; y el resultado de eso lo guardas en la BD
Código:
Dim siguiente As Integer
Set Mirecordset = Conexion.Execute("SELECT MAX(Nro_cargo) FROM tabla")
siguiente = Mirecordset(0) + 1
' Y despues lo agregas en la BD y mostras el mensaje 
Aunque insisto en que lo mas facil es que el campo sea de tipo Autonumerico.

Espero te sirva
Saludos
  #3 (permalink)  
Antiguo 14/07/2006, 16:07
 
Fecha de Ingreso: julio-2006
Mensajes: 5
Antigüedad: 17 años, 9 meses
Puntos: 0
De acuerdo Ayuda

TENGO ESTE CODIGO, Y TRATE DE HACERLO COMO DICES, PERO ME SALIO EL SGTE. ERROR = EL CAMPO "DATOS.NRO_CARGO", NO PUEDE SER UNA CADENA DE LONGITUD CERO"

Private Sub Command2_Click()

With TABLA1
.AddNew
TABLA1("NRO_CARGO") = NRO_CARGO
TABLA1("FE_CARGO") = FE_CARGO
TABLA1("RUT") = RUT
TABLA1("NOM") = NOM
TABLA1("DIRE") = DIRE
TABLA1("CIU") = CIU
TABLA1("DCTO") = DCTO
TABLA1("FE_DCTO") = FE_DCTO
TABLA1("CAUSAL") = CAUSAL
TABLA1("MOTIVO") = MOTIVO
TABLA1("RESOL") = RESOL
TABLA1("FE_RESOL") = FE_RESOL
TABLA1("VAL_AD") = VAL_AD
TABLA1("TIPO_IMPTO") = TIPO_IMPTO
TABLA1("ADV") = ADV
TABLA1("IVA") = IVA
TABLA1("OTRO1") = OTRO1
TABLA1("VAL_OTRO1") = VAL_OTRO1
TABLA1("OTRO2") = OTRO2
TABLA1("VAL_OTRO2") = VAL_OTRO2
TABLA1("TOTAL") = TOTAL
TABLA1("FUNCIONARIO") = FUNCIONARIO
CORRELATIVO1
.Update

MsgBox " HA INGRESADO EL CARGO" + " " + NRO_CARGO, 16, "MENSAJE"

End With
TABLA1.Close
BASE.Close

End Sub
================================================== =======

Function CORRELATIVO1()
Dim siguiente As Integer
Set TABLA1 = BASE.Execute("SELECT MAX(NRO_CARGO) FROM DATOS")
siguiente = TABLA1(0) + 1
NRO_CARGO = siguiente
End Function


FAVOR SI ME PUEDES DECIR EN QUE FALLO
DE ANTEMANO TE PIDO DISCULPAS POR MOLESTAR
  #4 (permalink)  
Antiguo 15/07/2006, 07:45
Avatar de jc_moty  
Fecha de Ingreso: septiembre-2005
Ubicación: Usulután, El Salvador
Mensajes: 477
Antigüedad: 18 años, 7 meses
Puntos: 1
En primer lugar; la funcion correlativo tenes que llamarla antes de AddNew; y en segunda la variable NRO_CARGO tiene que ser publica o tendrias que hacer que la funcion CORRELATIVO1 devuelva un valor.
Otra cosa ¿Que estas utilizando ADO o DAO?.
En fin, el codigo queda algo asi:
Código:
Private Sub Command2_Click()
      NRO_CARGO = CORRELATIVO1
      With TABLA1
            .AddNew
            TABLA1("NRO_CARGO") = NRO_CARGO
            TABLA1("FE_CARGO") = FE_CARGO
            TABLA1("RUT") = RUT
            TABLA1("NOM") = NOM
            TABLA1("DIRE") = DIRE
            TABLA1("CIU") = CIU
            TABLA1("DCTO") = DCTO
            TABLA1("FE_DCTO") = FE_DCTO
            TABLA1("CAUSAL") = CAUSAL
            TABLA1("MOTIVO") = MOTIVO
            TABLA1("RESOL") = RESOL
            TABLA1("FE_RESOL") = FE_RESOL
            TABLA1("VAL_AD") = VAL_AD
            TABLA1("TIPO_IMPTO") = TIPO_IMPTO
            TABLA1("ADV") = ADV
            TABLA1("IVA") = IVA
            TABLA1("OTRO1") = OTRO1
            TABLA1("VAL_OTRO1") = VAL_OTRO1
            TABLA1("OTRO2") = OTRO2
            TABLA1("VAL_OTRO2") = VAL_OTRO2
            TABLA1("TOTAL") = TOTAL
            TABLA1("FUNCIONARIO") = FUNCIONARIO
            .Update
            MsgBox " HA INGRESADO EL CARGO" + " " + NRO_CARGO, 16, "MENSAJE"
      End With
      TABLA1.Close
      BASE.Close
End Sub

'==================

Private Function CORRELATIVO1() As Integer
      Dim siguiente As Integer
      Set TABLA1 = BASE.Execute("SELECT MAX(NRO_CARGO) FROM DATOS")
      siguiente = TABLA1(0) + 1
      CORRELATIVO1 = siguiente
End Function
Suerte
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:47.