Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
CAI Visual Basic - Ej Elecciones
'Elecciones ''''Punto 1 'funcion validarVoto , devuelve un entero; -1 si no voto, 0 si la persona es inexistente 'y el numero de mesa (Mesa("mes_Numero")) si ya voto 'Recibe: el codigo de la eleccion, el tipo de documento y el numero de documento Private function validarVoto(codEleccion as Integer, docTipo as String, numDoc as String) as Integer Dim resultado as Integer Dim personas as Recordset set personas = abrirTabla("Personas", oDB) Dim criterioPersona as String 'Criterio para traerme la persona que tiene matchea el numero y el tipo de documento criterioPersona = "per_DocTipo ="& docTipo & " AND per_docNro =" & numDoc personas.findFirst criterioPersona Do while not personas.noMatch ' Me fijo si esta viva o existe If personas("perFechaDefuncion") = "" And personas("perFechaNacimiento") <> "" then Dim voto as Recordset set voto = abrirTabla("Voto", oDB) 'Voy a todos los votos de esa persona y busco el que matchee con la eleccion Dim criterioVoto as String criterioVoto = "vot_per_DocTipo =" & personas("per_DocTipo") & _ " AND vot_per_DocNro = " & personas("per_DocNro") & _ & " AND vot_ele_codigo =" & codEleccion voto.findFirst criterioVoto Do while not voto.noMatch 'Me fijo si voto en esa eleccion If voto("vot_Fecha") <> "" then 'Busco la mesa en la que voto Dim mesa as Recordset set mesa = abrirTabla("Mesa", oDB) Dim criterioMesa as String criterioMesa = "mes_Numero =" & voto("vot_mes_Numero") mesa.findFirst criterioMesa Do while not mesa.noMatch 'Ya voto y seteo el resultado al numero de mesa en el que voto resultado = mesa("mes_Numero") mesa.findNext criterioMesa Loop cerrarTabla mesa else 'Si no voto devuelvo un -1 resultado = -1 End If voto.findNext criterioVoto Loop cerrarTabla voto else 'la persona esta muerta o no existe resultado = 0 End If personas.findNext criterioPersona Loop cerrarTabla personas validarVoto = resultado End function '''' Punto 2 'Una vez que la persona ya voto hay que avisarle al sistema 'funcion registrarVoto, devuelve un booleano true si se pudo registrar el voto 'y recibe un booleano false si NO se puede registrar 'No se puede registrar por: no se pudo validar a la persona, la mesa estaba cerrada 'Recibe el codigo de eleccion, la mesa, el tipo y el numero de documento Public function registroVoto(codEleccion as Integer, mesa as Integer, docTipo as String, numDoc as String) as Boolean Dim sePudoRegistrarElVoto as Boolean sePudoRegistrarElVoto = False Dim mesa as Recordset set mesa = abrirTabla("Mesa", oDB) 'Voy a buscar la mesa que corresponde a la eleccion Dim criterioMesa = "mes_Numero ="& mesa &" AND mes_ele_Codigo = " & codEleccion mesa.findFirst criterioMesa Do while not mesa.noMatch 'Si esta abierta tengo que chequear si se pudo validar o no el voto If mesa("mes_abierta") = 1 then Dim eleccion as Recordset set eleccion = abrirTabla("Eleccion", oDB) Dim criterioEleccion as String criterioEleccion = "ele_codigo = " & mesa("mes_ele_Codigo") eleccion.findFirst criterioEleccion do while not eleccion.noMatch 'Voy a ver si la fecha de voto es igual a la eleccion Dim voto as Recordset set voto = abrirTabla("Voto", oDB) 'Voy a buscar el voto de esa persona en especial para ver si la fecha de la eleccion es igual a la que tiene el voto Dim criterioVoto as String criterioVoto = "vot_per_DocTipo ="& docTipo & " AND vot_per_DocNro = " & numDoc & " AND vot_ele_codigo ="& eleccion("ele_codigo") voto.findFirst criterioVoto do while not voto.noMatch 'Chequeo si el voto de esa persona fue registrado y tiene la misma fecha que la eleccion if voto("vot_Fecha") = eleccion("ele_Fecha") then sePudoRegistrarElVoto = True elseif voto("Fecha") = "" Or voto("vot_Fecha") <> eleccion("ele_Fecha") sePudoRegistrarElVoto = False end if voto.findNext criterioVoto Loop cerrarTabla voto Loop cerrarTabla eleccion else 'Si la mesa esta cerrada tengo que setear el booleano en falso sePudoRegistrarElVoto = False End If mesa.findNext criterioMesa Loop cerrarTabla mesa registroVoto = sePudoRegistrarElVoto End function '''' Punto 3 'Armado de criterios '1) criterio que traiga todos los votos emitidos de la persona activa sin discriminar por eleccion '2) todas las personas activas, de sexoFiltro y mayores de 16 a la fecha actual '3) criterio que trae si la persona activa es responsable de la mesa que tiene asignada Dim votosEmitidos as String votosEmitidos = "vot_per_DocNro ="& persona("per_DocNro") & " AND vot_per_DocTipo =" & persona("per_DocTipo") & " AND vot_Fecha <> ''" Dim personasActivas as String Dim mayoresA16 = format(DateAdd('yyyy', -16 , Date()), "dd/mm/yyyy") personasActivas = "per_Sexo = "& sexoFiltro & " AND perFechaNacimiento <" & mayoresA16 dim responsable as String responsable = "mes_Activa = 1 AND mes_ele_codigo =" & codEleccion & " AND (mes_Responsable = " & persona("per_apellido") & ", " & persona("per_nombre") &_ " OR mes_Responsable = " & persona("per_nombre") & " " & persona("per_apellido") & " )" _
run
|
edit
|
history
|
help
0
Exercico 3
Selected Shakespeare Sonnet for doy mod 150
Rounding behaviours
command console (template)
Códigos dum boi olhando para um palácio
ex1 ficha nº2
CAI Visual Basic - Libreria Funciones
Project Euler 1
wunder
exercicio 4