• Lunes 23 de Diciembre de 2024, 09:03

Autor Tema:  Contador!!!  (Leído 1123 veces)

ghr

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Contador!!!
« en: Domingo 11 de Marzo de 2007, 07:41 »
0
buenas dias amigos, otra vez por aqui tratado de arreglar un problema que tengo, mieren lo que pasa es que tengo una tabla en la que tengo continfor y contsist y lo que quiero hacer es que que al seleccionar una de las dos opciones que tengo en un combo se incremente el contador dependiendo de la opcion que se escoja, como tengo el codigo es asi:


Código: Text
  1. Private Sub cmbCarrera_LostFocus()
  2.             Dim db As String
  3.             Dim con As Connection
  4.             Dim rstEsp As Recordset
  5.    
  6.             db = App.Path & "\encuesta.mdb"
  7.    
  8.             Set con = New ADODB.Connection
  9.             Set rstEsp = New ADODB.Recordset
  10.    
  11.     Select Case cmbCarrera.Text
  12.         Case "INFORMATICA"
  13.             con.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & db
  14.             rstEsp.Open "SELECT continfor FROM contadores", cnn, adOpenDynamic, adLockOptimistic
  15.            
  16.             If Not (rstEsp.EOF) Then
  17.                 varcg = rst.Fields("continfor")
  18.                 varcg = varcg + 1
  19.                 rstEsp!continfor = varcg
  20.                 rstEsp.Update
  21.                 rstEsp.Close
  22.                 txtXp.Text = "INFORMATICA" & varcg
  23.                 txtNombre.SetFocus
  24.             End If
  25.                  
  26.         Case "SISTEMAS"
  27.             con.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & db
  28.             rstEsp.Open "SELECT contsist FROM contadores", cnn, adOpenDynamic, adLockOptimistic
  29.            
  30.             If Not (rstEsp.EOF) Then
  31.                 varlp = rstEsp.Fields("contsist")
  32.                 varlp = varlp + 1
  33.                 rstEsp!contsist = varlp
  34.                 rstEsp.Update
  35.                 rstEsp.Close
  36.                 txtXp.Text = "SISTEMAS" & varlp
  37.                 txtNombre.SetFocus
  38.             End If
  39.         Case Else
  40.             Beep
  41.             mensaje = MsgBox("Debe escoger una CARRERA para poder        continuar", vbOKOnly)
  42.             cmbCarrera.SetFocus
  43.     End Select
  44. End Sub
  45.  

se supone que despues de que cerramos el Recordset quiero concatenar (dependiendo el que se escoja en el combo) "SISTEMAS & 1", quedando SISTEMAS1 y luego se guarda y si lo vuelvo a ejecutar despues que fuera "SISTEMAS2, etc" pero asi como lo tengo no me hace nada: una no se incrementa en la base, dos: no me respeta el setfocus del txtNombre y tres tampoco se pone en el txtXp el dichoso "SISTEMAS1, ect.

si alguien me puediera decir en que parte del codigo puediera estar mal, o que es lo que me falta....  (las variales varcg y carlp las tengo declaradas como integer) :(

firme

  • Miembro activo
  • **
  • Mensajes: 40
    • Ver Perfil
Re: Contador!!!
« Respuesta #1 en: Viernes 16 de Marzo de 2007, 15:42 »
0
creo creo creo q es algo asi  ;)
debes de declarar la variable en declaracion general
dim varcg as integer
prueba esto en visual basic

declaracion general
'Dim x As Integer  eso es declaracion general

Private Sub Command1_Click()
Static x As Integer 'tambien  lo pones en el boton pero con static
x = x + 1
Text1 = x
End Sub

cpmario

  • Miembro HIPER activo
  • ****
  • Mensajes: 629
    • Ver Perfil
    • http://www.cpimario.com
Re: Contador!!!
« Respuesta #2 en: Viernes 16 de Marzo de 2007, 16:16 »
0
Te falta el Edit. Prueba con lo siguiente:

Código: Text
  1.             If Not (rstEsp.EOF) Then
  2.                varcg = rst.Fields("continfor")
  3.                varcg = varcg + 1
  4.                rstEsp.Edit
  5.                rstEsp!continfor = varcg
  6.                rstEsp.Update
  7.                rstEsp.Close
  8.                txtXp.Text = "INFORMATICA" & varcg
  9.                txtNombre.SetFocus
  10.            End If
  11.  
:comp: