Access - contar registros en acces

   
Vista:

contar registros en acces

Publicado por mario Ramirez (39 intervenciones) el 24/04/2009 19:25:07
Cordial saludo,
Estoy trabajando con una tabla en acces y deseo totalizar mediante un contador y un condicional if las veces que se me repite una variable, estoy trabajando en acces 2003.
el codigo que estoy utilizando me totaliza las veces que se ejecuta el ciclo antes de llegar al eof pero no las veces d ela variable.
anexo tabla paar ver dodne tengo el error
Agradezco al colaboracion que em puedan prestar

Private Sub Comando49_Click()

Dim db As Database
Dim rst1 As ADODB.Recordset
Set rst1 = New ADODB.Recordset

Dim genero As String

Dim cf, cm, ac, total As Integer

cf = 0
cm = 0

With rst1
.ActiveConnection = "Provider =microsoft.Jet.OLEDB.4.0; data source= c:juventud.mdb;"
.Open "integrantes", , , , adCmdTable
cf = cf + 1
End With

Do Until rst1.EOF
If (genero = masculino) Then
cm = cm + 1
If (genero = femenino) Then
cf = cf + 1
End If
End If
rst1.MoveNext
Loop
Set rst1 = Nothing
MsgBox ("Total Mujeres:")
MsgBox (cf)
MsgBox ("Total Hombres:")
MsgBox (cm)

End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Enrique Ramírez

RE:contar registros en acces

Publicado por Enrique Ramírez (617 intervenciones) el 24/04/2009 20:42:56
No se manejar el ADO y no se como se toman los campos de la tabla pero lo que veo es que:

cuando preguntas genero = masculino y genero = femenino, genero de donde lo tomas?
1) de la variable que defines al principio Dim genero As String
2) de la tabla integrantes

Si es el primer caso defines la variable genero y cuando comparas genero = masculino y genero = femenino, genero siempre vale nulos o espacios (no se que valor te tome) porque .... ¿en donde le mueves el valor de la tabla a la variable genero? ademas te hacen falta las comillas
If (genero = "masculino")
If (genero = "femenino")

Si es el segundo caso te hecen falta las comillas
If (genero = "masculino")
If (genero = "femenino")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:contar registros en acces

Publicado por Mario Ramirez (39 intervenciones) el 28/04/2009 15:57:36
Gracias por la respuesta anterior, pero no me ha funcionado.

La variable la capturo desde una chek list con dos unicos valores femenino masculino, si le coloco comillas igual no me funciona.
Y necesito generar esos contadores inicialmente genero, pero la idea es sacar un numero mayor de totales para unos indicadores.

Lo que he construido es a punta de consultas en los foros, yo no conozco mucho de acces.

agradezco su colaboracion

Private Sub Comando49_Click()

Dim db As Database
Dim rst1 As ADODB.Recordset
Set rst1 = New ADODB.Recordset


Dim cf, cm total As Integer

cf = 0
cm = 0

With rst1
.ActiveConnection = "Provider =microsoft.Jet.OLEDB.4.0; data source= c:juventud.mdb;"
.Open "integrantes", , , , adCmdTable
cf = cf + 1
End With

Do Until rst1.EOF
If (genero = masculino) Then
cm = cm + 1
If (genero = femenino) Then
cf = cf + 1
End If
End If
rst1.MoveNext
Loop
Set rst1 = Nothing
MsgBox ("Total Mujeres:")
MsgBox (cf)
MsgBox ("Total Hombres:")
MsgBox (cm)

End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Enrique Ramírez

RE:contar registros en acces

Publicado por Enrique Ramírez (617 intervenciones) el 24/04/2009 20:58:27
porque no usas una consulta como esta y solo tamas los valores de Total

Var = "SELECT Count([Empleados].SEXO) AS Total, [Empleados].SEXO " _
& "FROM Empleados " _
& "GROUP BY [Empleados].SEXO " _
& "ORDER BY Count([Empleados].SEXO)"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar