Autor Tema: Codigo Autonumerico - alguien sabe? porfavor. (SOLUCIONADO)  (Leído 12781 veces)

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

omarinho23

  • Megabyte
  • ***
  • Mensajes: 105
  • Reputación: +0/-1
    • Ver Perfil
Codigo Autonumerico - alguien sabe? porfavor. (SOLUCIONADO)
« en: Enero 04, 2010, 12:50:40 pm »
Hola que tal buen dia! bueno quisiera saber si alguien sabe un codigo autonumerico para mi base de datos en visual basic.
ya que tengo un autonumerico en la misma tabla de Acss pero quiero otra barra con el codigo autonumerico pero comienza desde otro numero ... osea me explico el numero que quiero continuar (un ejemplo) es
del CIT1 - 06134

quisiera q continue autonumericamente
alguien sabe como es el codigo, porque estoy buscando y no encuentro algo estable. gracias!
« última modificación: Enero 15, 2010, 06:13:01 pm por omarinho23 »

Ever Cerna

  • Megabyte
  • ***
  • Mensajes: 113
  • Reputación: +1/-1
  • anarkia99-Soft.
    • Ver Perfil
Re:Codigo Autonumerico - alguien sabe? porfavor.
« Respuesta #1 en: Enero 05, 2010, 08:37:04 am »
Wenas prueba esto espero que te sriva:

Código: [Seleccionar]
    With RSTTabla
        If .RecordCount > 0 Then
            .MoveLast
            Label1.Caption = Trim("CIT1" + "-" + String(7 - Len(Trim(Str(Val(Right(!CampoTabla, 7)) + 1))), "0") + Trim(Str(Val(Right(!CampoTabla, 7)) + 1)))
        Else
            Label1.Caption = "CIT1" & "-" & "0000001"
        End If
    End With

Lo que hace es verificar que en la tabla exista: CIT1 - 0000001, si no lo encuentra lo crea, una vez creada el primero va sumando, CIT1 - 0000002, CIT1 - 0000003 asi sucesivamente.  :P

Salu2.
« última modificación: Enero 05, 2010, 08:40:53 am por jack06 »

omarinho23

  • Megabyte
  • ***
  • Mensajes: 105
  • Reputación: +0/-1
    • Ver Perfil
Re:Codigo Autonumerico - alguien sabe? porfavor.
« Respuesta #2 en: Enero 05, 2010, 01:21:45 pm »
ok jack006 muchas gracias voy a probarlo! ok. porque encontre otra forma pero es mas fregada porque tengo q atarla a la base i se modifica a cada rato pero me sale error cuando hago algunas modificaciones... voy a probarlo ok muchas gracias!
este es mi codigo atado a un label i un button
Código: [Seleccionar]
Private Sub cmdCIT03_Click()
Label36 = Val(Label36) + 1
cmdCIT03.Enabled = False
AdoCIT1.Recordset.AddNew
End Sub

estando el label atado a un adoc, bueno ante todo muchas gracias por ayudarme! voy a probarlo
gracias!

seba123neo

  • Terabyte
  • *****
  • Mensajes: 763
  • Reputación: +88/-5
    • Ver Perfil
Re:Codigo Autonumerico - alguien sabe? porfavor.
« Respuesta #3 en: Enero 06, 2010, 11:34:43 pm »
Hola, si la palabra "CIT1 -" es siempre fija , lo unico que debes hacer es hacer una consulta a la base de datos que te traiga el mayor numero y le sumas 1, por ejemplo haces un "SELECT MAX(RIGHT(campo,5)) AS ultimonumero FROM Tabla" y al campo ultimonumero le sumas 1 y listo.le hago un RIGHT porque lo que me importa es los 5 utlimos numeros del campo.

PD:te recomenendaria no usar el control ADODC, sino ADO desde codigo.

saludos.

omarinho23

  • Megabyte
  • ***
  • Mensajes: 105
  • Reputación: +0/-1
    • Ver Perfil
Re:Codigo Autonumerico - alguien sabe? porfavor.
« Respuesta #4 en: Enero 13, 2010, 07:27:56 pm »
SEBA
sobre el autonumerico como lo haria en ADO, por q ADODC me salio , pero en ADO no se como lo haria,
haber un ejemplo
hago 3 textbox citando el CIT 01 - 003647 , CIT 02 - 000459 , CIT 03 - 006794
I CADA TEXTBOX TIENE UN COMANDBUTTON para q cuando le haga clic aumente el codigo +1
ok,
1ro como uno mi textbox a la base
2do como hago el codigo para cada comandbutton
3ro para q se grabe en el ultimo numero q marco en cierto button

4to muchas gracias por la ayuda!

Ever Cerna

  • Megabyte
  • ***
  • Mensajes: 113
  • Reputación: +1/-1
  • anarkia99-Soft.
    • Ver Perfil
Re:Codigo Autonumerico - alguien sabe? porfavor.
« Respuesta #5 en: Enero 13, 2010, 10:33:52 pm »
Te puse un ejemplo la vez pasada, pe weno te dejo el mismo ejemplo ya hecho espero te sirva

http://www.megaupload.com/?d=FJPIT5TU

Salu2.  ;D

omarinho23

  • Megabyte
  • ***
  • Mensajes: 105
  • Reputación: +0/-1
    • Ver Perfil
Re:Codigo Autonumerico - alguien sabe? porfavor.
« Respuesta #6 en: Enero 14, 2010, 04:06:38 pm »
muchas gracias jack06 me fue de mucha ayuda!  ;D ;)

omarinho23

  • Megabyte
  • ***
  • Mensajes: 105
  • Reputación: +0/-1
    • Ver Perfil
Re:Codigo Autonumerico - alguien sabe? porfavor.
« Respuesta #7 en: Enero 14, 2010, 05:57:28 pm »
JACK OTRA COSA! ;P DISCULPA POR FASTIDIAR xD PERO TRATO DE PONERLO EN MI FORM
Y CUANDO LO UNO CON MI BASE Y LE DOY DOBLE CLIC A MI LISTVIEW ME SALE EL ERROR   "ES NECESARIA UNA EXPRESION CONSTANTE"
YA QUE TRABAJO CON LISTVIEW EN ADO Y NO ME SALE PODER MODIFICAR NI AGREGAR

LA VERDAD NO SE XQ SALEN.
estas son mis lineas... me sale el error en...

Citar

Option Explicit

' Botones de opción
''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub cmdOpciones_Click(Index As Integer)
    Select Case Index
        Case 0: Call Agregar
        Case 1: Call Editar
        Case 2: Call Eliminar
        Case 3: Unload Me
        Case 4: frmFilter.Show , Me
        Case 5: Call mnuImprimir_Click
    End Select
End Sub


'Abre el formulario para Editar el registro seleccionado en el ListView
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub Editar()

    Dim i As Integer
   
    ' verifica que hay datos en el ListView y que hay uno seleccionado
    If (LV.ListItems.Count = 0) Then
       MsgBox "No hay ningún regisro para editar", vbInformation
       Exit Sub
    End If
    If (LV.SelectedItem Is Nothing) Then
       MsgBox "Debe seleccionar previamente un registro para poder editarlo", vbInformation
       Exit Sub
    End If
   
    With FrmEditClau
        ' obtiene el elemento seleccionado
        .lblID = LV.SelectedItem.Text
        For i = 1 To 18
             .Text1(i).Text = LV.SelectedItem.ListSubItems(i).Text
        Next
       
        .lblFecha = LV.SelectedItem.ListSubItems(2).Text
        .IdRegistro = LV.SelectedItem.Text
        .ACCION = AGREGAR_REGISTRO
       
        .Show vbModal
    End With

End Sub

' Elimina el registro actual seleccionado
'''''''''''''''''''''''''''''''''''''''''''''

Private Sub Eliminar()

   
   
    If (LV.ListItems.Count = 0) Then
        MsgBox "No hay ningún registro para eliminar", vbInformation
        Exit Sub
    End If
   
    ' verifica que hay datos en el ListView y que hay uno seleccionado
    If (LV.SelectedItem Is Nothing) Then
        MsgBox "No hay registro seleccionado para eliminar", vbInformation
        Exit Sub
    End If
   
   
    With LV.SelectedItem
        ' pregunta
        If MsgBox("Se va a eliminar el registro : " & vbNewLine & _
                 String(50, "-") & vbNewLine & _
                 "cod: " & .Text & vbNewLine & _
                 "voucher " & .ListSubItems(1).Text & vbNewLine & _
                 "mes: " & .ListSubItems(2).Text, _
                 vbExclamation + vbYesNo, "Eliminar") = vbYes Then
            ' Elimina
            CNn.Execute "delete from Clientes where cod = " & .Text & ""
            ' refresca el recordset
            rs.Requery 1
            ' vuelve a cargar los datos en el ListView
            Call CargarListView(LV, rs)
        End If
    End With
End Sub


Sub Agregar()
   
    ' Acción
    FrmEditClau.ACCION = AGREGAR_REGISTRO
   
    FrmEditClau.lblFecha = Format(Date, "mm/dd/yyyy")
    ' Abre el Form
    FrmEditClau.Show 1
End Sub

Sub Salir()
    Call Desconectar
    Unload Me
    End
End Sub


Private Sub Form_Load()
    ' Abre la conexión
    Call IniciarConexion
    ' carga el Recorset con todos los datos
    rs.Open "select * from Clientes", CNn, adOpenStatic, adLockOptimistic
    ' llena el ListView
    Call CargarListView(LV, rs)

End Sub


Private Sub LV_DblClick()
    Call Editar
End Sub



Private Sub LV_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
    Dim Item As ListItem
   
    Set Item = LV.HitTest(x, y)
   
    If Not Item Is Nothing And Button = vbRightButton Then
       Item.Selected = True
       Me.PopupMenu mnuEdicion
    End If
End Sub

' menues
'''''''''''''''''''''''''''''

Private Sub mnuAgregar_Click()
    Call Agregar
End Sub

Private Sub mnuEditarRegistro_Click()
    Call Editar
End Sub

Private Sub mnuEliminarReg_Click()
    Call Eliminar
End Sub

Private Sub mnuImprimir_Click()
    Set DataReport1.DataSource = rs
    DataReport1.Show 1
End Sub

' salir

''''''''''''''''''''''''
Private Sub mnuSalir_Click()
    Call Salir
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    Dim ret As VbMsgBoxResult
   
    ret = MsgBox("¿ Salir ?", vbInformation + vbYesNo)
    If ret = vbNo Then
        Cancel = True
    Else
        Call Salir
    End If
End Sub





el error me dice "ES NECESARIA UNA EXPRESION CONSTANTE"
« última modificación: Enero 14, 2010, 08:16:03 pm por omarinho23 »

seba123neo

  • Terabyte
  • *****
  • Mensajes: 763
  • Reputación: +88/-5
    • Ver Perfil
Re:Codigo Autonumerico - alguien sabe? porfavor.
« Respuesta #8 en: Enero 14, 2010, 11:22:37 pm »
este es el ejemplo de recursosvisualbasic que te pase en el otro post no?

pone el codigo en del formulario FrmEditClau, seguro no esta declarada la variable ACCION, deberias tener algo asi:

Código: [Seleccionar]
Enum EACCION
    AGREGAR_REGISTRO = 0
    EDITAR_REGISTRO = 1
End Enum

Public ACCION As EACCION

consejo: nunca decir que no sabes porque salen los errores, TODOS los errores son "por algo", algo mal casi siempre, un error humano, eso lo tenes que saber, por eso siemrep es bueno parar el codigo con un punto de interrupción y ir viendo que hace linea por linea con F8, y con eso encontras el error en un segundo y vas a ver como vas a mejorar, programar no es ejecutar el codigo fuente y "que pase lo que Dios quiera", se dice por ahi que se aprende con prueba y error, pero tampoco hay que abusar.

saludos.
« última modificación: Enero 14, 2010, 11:26:55 pm por seba123neo »

Ever Cerna

  • Megabyte
  • ***
  • Mensajes: 113
  • Reputación: +1/-1
  • anarkia99-Soft.
    • Ver Perfil
Re:Codigo Autonumerico - alguien sabe? porfavor.
« Respuesta #9 en: Enero 15, 2010, 09:40:45 am »
Aparte de la declaracion en Editar en vez de llamar a ".ACCION = EDITAR_REGISTRO" llama a ".ACCION = AGREGAR_REGISTRO"

Citar
Código: [Seleccionar]
Private Sub Editar()

    Dim i As Integer
   
    ' verifica que hay datos en el ListView y que hay uno seleccionado
    If (LV.ListItems.Count = 0) Then
       MsgBox "No hay ningún regisro para editar", vbInformation
       Exit Sub
    End If
    If (LV.SelectedItem Is Nothing) Then
       MsgBox "Debe seleccionar previamente un registro para poder editarlo", vbInformation
       Exit Sub
    End If
   
    With FrmEditClau
        ' obtiene el elemento seleccionado
        .lblID = LV.SelectedItem.Text
        For i = 1 To 18
             .Text1(i).Text = LV.SelectedItem.ListSubItems(i).Text
        Next
       
        .lblFecha = LV.SelectedItem.ListSubItems(2).Text
        .IdRegistro = LV.SelectedItem.Text
        '.ACCION = AGREGAR_REGISTRO 'ERROR deberia de hir editar
        .ACCION = EDITAR_REGISTRO
       
        .Show vbModal
    End With

End Sub

weno y asi como te dijo seba fijate en los errores  :P

Salu2

omarinho23

  • Megabyte
  • ***
  • Mensajes: 105
  • Reputación: +0/-1
    • Ver Perfil
Re:Codigo Autonumerico - alguien sabe? porfavor.
« Respuesta #10 en: Enero 15, 2010, 11:36:26 am »
seba el form "FRMCLAUEDIT" si tiene
Código: [Seleccionar]
Enum EACCION
    AGREGAR_REGISTRO = 0
    EDITAR_REGISTRO = 1
End Enum

Public ACCION As EACCION

y jack esta en ".ACCION = AGREGAR_REGISTRO"


cuando me fijo con f8 lo unico q ace relacion es la conex de la base de datos!  ???



ahora , como me salia el error , bueno lo ice en otro form, ok cuando puse solo el CIT1 me funciono , pero ahora q agrego otro cit, ejemplo el CIT2 y le pongo agregar nuevo me sale error de null  ??? y cuando pongo grabar en el CIT1 me sale el error que los valores de consulta y el campo de destino son diferentetes!  ( bueno esto lo solucione porq en access le agrege nuevos campos :S i parece tngo q agregar nueva tabla :S es mas fastidioso )

este es mi codigo del nuevo form

Código: [Seleccionar]
Option Explicit
Dim CNN      As New ADODB.Connection
Dim RSTDato As New ADODB.Recordset

Private Sub ConectarBDD()
   
    Dim RST As New ADODB.Recordset
   
    With CNN
        .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
                            App.Path & "\Ejemplo.mdb" & ";Persist Security Info=False"
        .CursorLocation = adUseClient
        .Open
    End With
End Sub


Private Sub CmdGrabar1_Click()
    CNN.Execute ("Insert Into Tabla1 Values('" + TxtCodigo1.Text + "','" + TxtDato1.Text + "')")   <<<< 2DO ERROR CUANDO TRATO DE GUARDAR CIT1
    RSTDato.Requery
   
    MsgBox "Dato grabado con exito!!!"
    TxtDato1.Text = ""
    CmdNuevo1.Enabled = True: CmdGrabar1.Enabled = False
End Sub
Private Sub CmdGrabar2_Click()
    CNN.Execute ("Insert Into Tabla1 Values('" + TxtCodigo2.Text + "','" + TxtDato2.Text + "')")
    RSTDato.Requery
   
    MsgBox "Dato grabado con exito!!!"
    TxtDato2.Text = ""
    CmdNuevo2.Enabled = True: CmdGrabar2.Enabled = False
End Sub

Private Sub CmdNuevo1_Click()
    TxtDato1.Text = "": TxtDato1.SetFocus
    CmdGrabar1.Enabled = True: CmdNuevo1.Enabled = False
   
    With RSTDato
         If .RecordCount > 0 Then
            .MoveLast
            TxtCodigo1.Text = Trim("CIT1" + "-" + String(5 - Len(Trim(Str(Val(Right(!Codigo1, 5)) + 1))), "0") + Trim(Str(Val(Right(!Codigo1, 5)) + 1)))
        Else
            TxtCodigo1.Text = "CIT1" & "-" & "00001"
        End If
        TxtDato1.SetFocus
    End With
End Sub

Private Sub CmdNuevo2_Click()
    TxtDato2.Text = "": TxtDato2.SetFocus
    CmdGrabar2.Enabled = True: CmdNuevo2.Enabled = False
   
    With RSTDato
         If .RecordCount > 0 Then
            .MoveLast
             TxtCodigo2.Text = Trim("CIT2" + "-" + String(5 - Len(Trim(Str(Val(Right(!Codigo2, 5)) + 1))), "0") + Trim(Str(Val(Right(!Codigo2, 5)) + 1)))              <<<<<<<<<<<<<< PRIMER ERROR DE NULL CUANDO AGREGO
        Else
            TxtCodigo2.Text = "CIT2" & "-" & "00001"
        End If
        TxtDato2.SetFocus
    End With
End Sub


Private Sub Form_Load()
    Call ConectarBDD

    With RSTDato
        .ActiveConnection = CNN
        .CursorType = adOpenKeyset
        .Source = "Select * From Tabla1"
        .Open
    End With
End Sub


ALGO PUSE MAL? PORFAVOR CORRIGANME PORQ ME FALTA AGREGAR 8 MAS :S ;p
« última modificación: Enero 15, 2010, 01:09:06 pm por omarinho23 »

omarinho23

  • Megabyte
  • ***
  • Mensajes: 105
  • Reputación: +0/-1
    • Ver Perfil
Re:Codigo Autonumerico - alguien sabe? porfavor.
« Respuesta #11 en: Enero 15, 2010, 06:12:40 pm »
bueno solucione el problema! poniendo tablas y mas tablas! :D jojojojo muchas gracias jack ... muchas gracias neo por la ayuda prestada! :D este es el codigo q funciono al final perooooo solo me falta poner algo como cerrar porq cuando cierro la ventana y abro de nuevo! me sale q el objeto esta abierto xD
pero hasta ahi esta todo el cod muchas gracias ! :D

Código: [Seleccionar]
Option Explicit
Dim CNN      As New ADODB.Connection
Dim RSTDato3 As New ADODB.Recordset
Dim RSTDato4 As New ADODB.Recordset
Dim RSTDato6 As New ADODB.Recordset
Dim RSTDato7 As New ADODB.Recordset
Dim RSTDato8 As New ADODB.Recordset
Dim RSTDato9 As New ADODB.Recordset
Dim RSTDato10 As New ADODB.Recordset
Dim RSTDato11 As New ADODB.Recordset
Dim RSTDato12 As New ADODB.Recordset
Dim RSTDato15 As New ADODB.Recordset

Private Sub ConectarBDD()
   
    Dim RST As New ADODB.Recordset
   
    With CNN
        .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
                            App.Path & "\Ejemplo.mdb" & ";Persist Security Info=False"
        .CursorLocation = adUseClient
        .Open
    End With
End Sub


Private Sub CmdNuevo3_Click()
    TxtDato3.Text = "": TxtDato3.SetFocus
    CmdGrabar3.Enabled = True: CmdNuevo3.Enabled = False
   
    With RSTDato3
         If .RecordCount > 0 Then
            .MoveLast
            TxtCodigo3.Text = Trim("CIT3" + "-" + String(5 - Len(Trim(Str(Val(Right(!Codigo3, 5)) + 1))), "0") + Trim(Str(Val(Right(!Codigo3, 5)) + 1)))
        Else
            TxtCodigo3.Text = "CIT3" & "-" & "00001"
        End If
        TxtDato3.SetFocus
    End With
        CNN.Execute ("Insert Into Tabla3 Values('" + TxtCodigo3.Text + "','" + TxtDato3.Text + "')")
    RSTDato3.Requery
   
    TxtDato3.Text = ""
    CmdNuevo3.Enabled = True: CmdGrabar3.Enabled = False
End Sub

Private Sub CmdNuevo4_Click()
    TxtDato4.Text = "": TxtDato4.SetFocus
    CmdGrabar4.Enabled = True: CmdNuevo4.Enabled = False
   
    With RSTDato4
         If .RecordCount > 0 Then
            .MoveLast
             TxtCodigo4.Text = Trim("CIT4" + "-" + String(5 - Len(Trim(Str(Val(Right(!Codigo4, 5)) + 1))), "0") + Trim(Str(Val(Right(!Codigo4, 5)) + 1)))
        Else
            TxtCodigo4.Text = "CIT4" & "-" & "00001"
        End If
        TxtDato4.SetFocus
    End With
    CNN.Execute ("Insert Into Tabla4 Values('" + TxtCodigo4.Text + "','" + TxtDato4.Text + "')")
    RSTDato4.Requery
   
    MsgBox "Dato grabado con exito!!!"
    TxtDato4.Text = ""
    CmdNuevo4.Enabled = True: CmdGrabar4.Enabled = False
End Sub

Private Sub CmdNuevo6_Click()
TxtDato6.Text = "": TxtDato6.SetFocus
    CmdGrabar6.Enabled = True: CmdNuevo6.Enabled = False
   
    With RSTDato6
         If .RecordCount > 0 Then
            .MoveLast
            TxtCodigo6.Text = Trim("CIT6" + "-" + String(5 - Len(Trim(Str(Val(Right(!Codigo6, 5)) + 1))), "0") + Trim(Str(Val(Right(!Codigo6, 5)) + 1)))
        Else
            TxtCodigo6.Text = "CIT6" & "-" & "00001"
        End If
        TxtDato6.SetFocus
    End With
    CNN.Execute ("Insert Into Tabla6 Values('" + TxtCodigo6.Text + "','" + TxtDato6.Text + "')")
    RSTDato6.Requery
   
    MsgBox "Dato grabado con exito!!!"
    TxtDato6.Text = ""
    CmdNuevo6.Enabled = True: CmdGrabar6.Enabled = False
End Sub

Private Sub CmdNuevo7_Click()
    TxtDato7.Text = "": TxtDato7.SetFocus
    CmdGrabar7.Enabled = True: CmdNuevo7.Enabled = False
   
    With RSTDato7
         If .RecordCount > 0 Then
            .MoveLast
            TxtCodigo7.Text = Trim("CIT7" + "-" + String(5 - Len(Trim(Str(Val(Right(!Codigo7, 5)) + 1))), "0") + Trim(Str(Val(Right(!Codigo7, 5)) + 1)))
        Else
            TxtCodigo7.Text = "CIT7" & "-" & "00001"
        End If
        TxtDato7.SetFocus
    End With
        CNN.Execute ("Insert Into Tabla7 Values('" + TxtCodigo7.Text + "','" + TxtDato7.Text + "')")
    RSTDato7.Requery
   
    MsgBox "Dato grabado con exito!!!"
    TxtDato7.Text = ""
    CmdNuevo7.Enabled = True: CmdGrabar7.Enabled = False
End Sub

Private Sub CmdNuevo8_Click()
    TxtDato8.Text = "": TxtDato8.SetFocus
    CmdGrabar8.Enabled = True: CmdNuevo8.Enabled = False
   
    With RSTDato8
         If .RecordCount > 0 Then
            .MoveLast
             TxtCodigo8.Text = Trim("CIT8" + "-" + String(5 - Len(Trim(Str(Val(Right(!Codigo8, 5)) + 1))), "0") + Trim(Str(Val(Right(!Codigo8, 5)) + 1)))
        Else
            TxtCodigo8.Text = "CIT8" & "-" & "00001"
        End If
        TxtDato8.SetFocus
    End With
        CNN.Execute ("Insert Into Tabla8 Values('" + TxtCodigo8.Text + "','" + TxtDato8.Text + "')")
    RSTDato8.Requery
   
    MsgBox "Dato grabado con exito!!!"
    TxtDato8.Text = ""
    CmdNuevo8.Enabled = True: CmdGrabar8.Enabled = False
End Sub
Private Sub CmdNuevo9_Click()
    TxtDato9.Text = "": TxtDato9.SetFocus
    CmdGrabar9.Enabled = True: CmdNuevo9.Enabled = False
   
    With RSTDato9
         If .RecordCount > 0 Then
            .MoveLast
            TxtCodigo9.Text = Trim("CIT9" + "-" + String(5 - Len(Trim(Str(Val(Right(!Codigo9, 5)) + 1))), "0") + Trim(Str(Val(Right(!Codigo9, 5)) + 1)))
        Else
            TxtCodigo9.Text = "CIT9" & "-" & "00001"
        End If
        TxtDato9.SetFocus
    End With
        CNN.Execute ("Insert Into Tabla9 Values('" + TxtCodigo9.Text + "','" + TxtDato9.Text + "')")
    RSTDato9.Requery
   
    MsgBox "Dato grabado con exito!!!"
    TxtDato9.Text = ""
    CmdNuevo9.Enabled = True: CmdGrabar9.Enabled = False
End Sub

Private Sub CmdNuevo10_Click()
    TxtDato10.Text = "": TxtDato10.SetFocus
    CmdGrabar10.Enabled = True: CmdNuevo10.Enabled = False
   
    With RSTDato10
         If .RecordCount > 0 Then
            .MoveLast
             TxtCodigo10.Text = Trim("CIT10" + "-" + String(5 - Len(Trim(Str(Val(Right(!Codigo10, 5)) + 1))), "0") + Trim(Str(Val(Right(!Codigo10, 5)) + 1)))
        Else
            TxtCodigo10.Text = "CIT10" & "-" & "00001"
        End If
        TxtDato10.SetFocus
    End With
        CNN.Execute ("Insert Into Tabla10 Values('" + TxtCodigo10.Text + "','" + TxtDato10.Text + "')")
    RSTDato10.Requery
   
    MsgBox "Dato grabado con exito!!!"
    TxtDato10.Text = ""
    CmdNuevo10.Enabled = True: CmdGrabar10.Enabled = False
End Sub
Private Sub CmdNuevo11_Click()
    TxtDato11.Text = "": TxtDato11.SetFocus
    CmdGrabar11.Enabled = True: CmdNuevo11.Enabled = False
   
    With RSTDato11
         If .RecordCount > 0 Then
            .MoveLast
             TxtCodigo11.Text = Trim("CIT11" + "-" + String(5 - Len(Trim(Str(Val(Right(!Codigo11, 5)) + 1))), "0") + Trim(Str(Val(Right(!Codigo11, 5)) + 1)))
        Else
            TxtCodigo11.Text = "CIT11" & "-" & "00001"
        End If
        TxtDato11.SetFocus
    End With
        CNN.Execute ("Insert Into Tabla11 Values('" + TxtCodigo11.Text + "','" + TxtDato11.Text + "')")
    RSTDato11.Requery
   
    MsgBox "Dato grabado con exito!!!"
    TxtDato11.Text = ""
    CmdNuevo11.Enabled = True: CmdGrabar11.Enabled = False
End Sub
Private Sub CmdNuevo12_Click()
    TxtDato12.Text = "": TxtDato12.SetFocus
    CmdGrabar12.Enabled = True: CmdNuevo12.Enabled = False
   
    With RSTDato12
         If .RecordCount > 0 Then
            .MoveLast
             TxtCodigo12.Text = Trim("CIT12" + "-" + String(5 - Len(Trim(Str(Val(Right(!Codigo12, 5)) + 1))), "0") + Trim(Str(Val(Right(!Codigo12, 5)) + 1)))
        Else
            TxtCodigo12.Text = "CIT12" & "-" & "00001"
        End If
        TxtDato12.SetFocus
    End With
        CNN.Execute ("Insert Into Tabla12 Values('" + TxtCodigo12.Text + "','" + TxtDato12.Text + "')")
    RSTDato12.Requery
   
    MsgBox "Dato grabado con exito!!!"
    TxtDato12.Text = ""
    CmdNuevo12.Enabled = True: CmdGrabar12.Enabled = False
End Sub
Private Sub CmdNuevo15_Click()
    TxtDato15.Text = "": TxtDato15.SetFocus
    CmdGrabar15.Enabled = True: CmdNuevo15.Enabled = False
   
    With RSTDato15
         If .RecordCount > 0 Then
            .MoveLast
             TxtCodigo15.Text = Trim("CIT15" + "-" + String(5 - Len(Trim(Str(Val(Right(!Codigo15, 5)) + 1))), "0") + Trim(Str(Val(Right(!Codigo15, 5)) + 1)))
        Else
            TxtCodigo15.Text = "CIT15" & "-" & "00001"
        End If
        TxtDato15.SetFocus
    End With
        CNN.Execute ("Insert Into Tabla15 Values('" + TxtCodigo15.Text + "','" + TxtDato15.Text + "')")
    RSTDato15.Requery
   
    MsgBox "Dato grabado con exito!!!"
    TxtDato15.Text = ""
    CmdNuevo15.Enabled = True: CmdGrabar15.Enabled = False
End Sub
Private Sub Form_Load()
    Call ConectarBDD

    With RSTDato3
        .ActiveConnection = CNN
        .CursorType = adOpenKeyset
        .Source = "Select * From Tabla3"
        .Open
        End With
    With RSTDato4
        .ActiveConnection = CNN
        .CursorType = adOpenKeyset
        .Source = "Select * From Tabla4"
        .Open
    End With
        With RSTDato6
        .ActiveConnection = CNN
        .CursorType = adOpenKeyset
        .Source = "Select * From Tabla6"
        .Open
        End With
    With RSTDato7
        .ActiveConnection = CNN
        .CursorType = adOpenKeyset
        .Source = "Select * From Tabla7"
        .Open
    End With
        With RSTDato8
        .ActiveConnection = CNN
        .CursorType = adOpenKeyset
        .Source = "Select * From Tabla8"
        .Open
        End With
    With RSTDato9
        .ActiveConnection = CNN
        .CursorType = adOpenKeyset
        .Source = "Select * From Tabla9"
        .Open
    End With
        With RSTDato10
        .ActiveConnection = CNN
        .CursorType = adOpenKeyset
        .Source = "Select * From Tabla10"
        .Open
        End With
    With RSTDato11
        .ActiveConnection = CNN
        .CursorType = adOpenKeyset
        .Source = "Select * From Tabla11"
        .Open
    End With
            With RSTDato12
        .ActiveConnection = CNN
        .CursorType = adOpenKeyset
        .Source = "Select * From Tabla12"
        .Open
        End With
    With RSTDato15
        .ActiveConnection = CNN
        .CursorType = adOpenKeyset
        .Source = "Select * From Tabla15"
        .Open
    End With
CmdGrabar3.Enabled = False
CmdGrabar4.Enabled = False
CmdGrabar6.Enabled = False
CmdGrabar7.Enabled = False
CmdGrabar8.Enabled = False
CmdGrabar9.Enabled = False
CmdGrabar10.Enabled = False
CmdGrabar11.Enabled = False
CmdGrabar12.Enabled = False
CmdGrabar15.Enabled = False


    End Sub


Ever Cerna

  • Megabyte
  • ***
  • Mensajes: 113
  • Reputación: +1/-1
  • anarkia99-Soft.
    • Ver Perfil
Re:Codigo Autonumerico - alguien sabe? porfavor. (SOLUCIONADO)
« Respuesta #12 en: Enero 15, 2010, 07:59:29 pm »
wena pa cerrar una conexion es asi + o -. En un Boton

Código: [Seleccionar]
Private Sub Command1_Click()
    '\\ -- Cerramos la conexion.
    If Not RSTTabla Is Nothing Then
        If RSTTabla.State = adStateOpen Then RSTTabla.Close
        Set RSTTabla = Nothing
    End If
   
    Unload Me
End Sub

seba123neo

  • Terabyte
  • *****
  • Mensajes: 763
  • Reputación: +88/-5
    • Ver Perfil
Re:Codigo Autonumerico - alguien sabe? porfavor. (SOLUCIONADO)
« Respuesta #13 en: Enero 15, 2010, 09:24:23 pm »
el ConectarBDD() deberia estar en un modulo, y como te dije antes, empezar el programa y la conexion desde el Sub_main de un modulo.tampoco nunca declarar las variables como "As New" , primero la declaras con "As" y despues las seteas con "Set"...no entiendo la cantidad de recordset que declaras, con uno creo es suficiente.

saludos.