Visual Basic.NET - AYUDA DB ACCESS...!!!!!

 
Vista:

AYUDA DB ACCESS...!!!!!

Publicado por FELIX... (23 intervenciones) el 10/02/2009 14:33:57
Una vez más heme aquí recurriendo a vosotros... Hermanos estoy desarrollando una aplicación donde debo llevar Control de pagos y mensualidades, No obstante he creado 3 tablas una que me muestra la fecha de pago, una que me muestra cuanto pago y una que me muestra la fecha de vencimiento... las tablas estan estructuradas así(ojo todas por igual)

Cedula_id
Enero
Febrero
Marzo
... (hasta diciembre)

Trato de crear un control de Control de acceso, donde me muestra si el usuario está al Día, entonces se me ocurrió agregar un Label que me diga el Mes en que estamos, en forma númerica, y es aquí donde se me enrreda el mecate... éste es el codigo que he desarrollado...

Try
If e.KeyChar = ControlChars.Cr Then

cn.Open()
If Label2.Text = 2 Then
Dim leer As New OleDb.OleDbCommand("Select Febrero FROM tb1 where Cedula = '" & txtcedula.Text & "'", cn)
Dim oleer As OleDb.OleDbDataReader
oleer = leer.ExecuteReader
oleer.Read()
If oleer.HasRows = True Then
mes = oleer("Febrero").ToString
txtm.Text = mes
End If
If mes = "" Then
Dim leer1 As New OleDb.OleDbCommand("Select Enero FROM tb1 where Cedula = '" & txtcedula.Text & "'", cn)
Dim oleer1 As OleDb.OleDbDataReader
oleer1 = leer1.ExecuteReader
oleer1.Read()
If oleer1.HasRows = True Then
mes = oleer1("Enero").ToString
txtm.Text = mes
End If
End If
e.Handled = True
End If
End If

Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "PRUEBA")
Finally
cn.Close()
End Try

Funcionamiento: El label le indica al sistema que estamos en el mes "2"(febrero) el sistema se dirige a buscar en febrero si no consigue nada, busca en enero... Mi problema está en que, si estamos en el mes 12 el Codigo será extremadamente largo... y siento que me ahogo en un vaso con agua... Que me Sugieren?? mi Logica esta errada? hay una forma de hacerlo más sencilla??? lo que necesito practicamente es que me lea por columnas los registros... Muchas Gracias Hermanos Míos...
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

RE:AYUDA DB ACCESS...!!!!!

Publicado por Héctor Hinojosa (3 intervenciones) el 10/02/2009 22:53:20
por ahora solo se me ocurre que puedes usar un array y ciclo

no recuerdo muy bien si asi se llena y se declara el array

dim mes(12) as string
mes(1) = "Enero"
mes(2) = "Febrero"
mes(3) = "Marzo"
mes(4) = "Abril"
mes(5) = "Mayo"
mes(6) = "Junio"
mes(7) = "Julio"
mes(8) = "Agosto"
mes(9) = "Septiembre"
mes(10) = "Octubre"
mes(11) = "Noviembre"
mes(12) = "Diciembre"

dim x as string
i = Label1.Text <---- mes actual

Do while x = "" or i <> 0 <---- dara vuelta hasta que se encuentre un mes o
hasta que los meses lleguen a 0

Dim leer As New OleDb.OleDbCommand("Select '" & mes(i) & "' FROM tb1 where Cedula = '" & txtcedula.Text & "'", cn)
Dim oleer As OleDb.OleDbDataReader
oleer = leer.ExecuteReader
oleer.Read()
If oleer.HasRows = True Then
x = oleer("mes(i)").ToString
txtm.Text = x
End If

i = i - 1 <---- te regresas 1 mes

loop

creo que asi podria funcionar si no funciona me avisas
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:AYUDA DB ACCESS...!!!!!

Publicado por FELIX... (23 intervenciones) el 11/02/2009 16:51:43
Sip... Exactamente me Funcionó Hermano Muchisimas Gracias... de Verdad Muy Agradecido... ya estaba Rompiendome el cerebro tratando de Resolver la Situación... Dios te Guarde.. Saludos...
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