Visual Basic Foro
Programación => Bases de Datos => Mensaje iniciado por: omarinho23 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!
-
Wenas prueba esto espero que te sriva:
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.
-
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
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!
-
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.
-
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!
-
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 (http://www.megaupload.com/?d=FJPIT5TU)
Salu2. ;D
-
muchas gracias jack06 me fue de mucha ayuda! ;D ;)
-
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...
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"
-
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:
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.
-
Aparte de la declaracion en Editar en vez de llamar a ".ACCION = EDITAR_REGISTRO" llama a ".ACCION = AGREGAR_REGISTRO"
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
-
seba el form "FRMCLAUEDIT" si tiene
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
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
-
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
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
-
wena pa cerrar una conexion es asi + o -. En un Boton
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
-
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.