Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
CAI Visual Basic - Ej Citas
'Ej Recetas Option Explicit 'Dimensiono el obj Database Dim oDB As Database ' funcion que se dispara sola cuando abrimos el formulario Public Sub Form_Load() 'abrimos la base de datos donde estan todas las tablas Call abrirDB("ConsultaRecetas", oDB) ' para llenar el lst recetas llenarLstRecetas End Sub Public Sub llenarLstRecetas(Optional criterioFecha As String) lstrecetas.Clear ' abrimos tabla recetas Dim recetas As Recordset Set recetas = abrirTabla("Receta", oDB) ' defino criterio para traer todas las recetas Dim criterioReceta As String criterioReceta = "rec_Codigo >0" recetas.FindFirst criterioReceta Do While Not recetas.NoMatch ' por cada receta abro la tabla de ' es y busco cuantas veces se hizo Dim recetasElaboradas As Recordset Set recetasElaboradas = abrirTabla("Elaboracion", oDB) Dim criterioRecElaboradas As String ' critero para encontrar en la tabla elaboradas el codigo de la receta donde estoy parado criterioRecElaboradas = "ela_rec_codigo =" & recetas("rec_Codigo") If criterioFecha <> "" Then criterioRecElaboradas = criterioRecElaboradas & " AND " & criterioFecha End If recetasElaboradas.FindFirst criterioRecElaboradas Do While Not recetasElaboradas.NoMatch 'cuando encuentro una elaboracion de esa receta agrego la info al listbox agregarItemLista lstrecetas, recetas("rec_nombre") _ & vbTab & recetasElaboradas("ela_fecha") _ & vbTab & difReceta(recetas("rec_Dificultad")), recetas("rec_Codigo") 'listbox donde agrego los items 'texto que se muestra en el item 'infromacion/data que tiene el item recetasElaboradas.FindNext criterioRecElaboradas Loop recetas.FindNext criterioReceta Loop End Sub ' Transforma un numero del 1 al 5 en signos +++++ Private Function difReceta(Dificultad As Integer) As String Select Case Dificultad Case 1 difReceta = "+" Case 2 difReceta = "++" Case 3 difReceta = "+++" Case 4 difReceta = "++++" Case 5 difReceta = "+++++" Case Else difReceta = "" End Select End Function Private Sub lstrecetas_Click() lstingredientes.Clear 'codigo de la receta Dim codReceta As Integer codReceta = lstrecetas.ItemData(lstrecetas.ListIndex) Dim preparacion As Recordset Set preparacion = abrirTabla("Preparacion", oDB) Dim criterio1 As String criterio1 = "pre_rec_codigo =" & codReceta preparacion.FindFirst criterio1 Do While Not preparacion.NoMatch Dim ingredientes As Recordset Set ingredientes = abrirTabla("Ingrediente", oDB) Dim criterio2 As String criterio2 = "ing_codigo =" & preparacion("pre_ing_codigo") ingredientes.FindFirst criterio2 Do While Not ingredientes.NoMatch agregarItemLista lstingredientes, ingredientes("ing_nombre"), ingredientes("ing_codigo") ingredientes.FindNext criterio2 Loop preparacion.FindNext criterio1 Loop End Sub Public Sub btnreporteultimos_Click() If IsNumeric(txtmeses) And txtmeses >= 0 Then ' con la cantidad de meses que puso chequeo la diferencia con la fecha de elaboracion. Dim meses As Integer meses = txtmeses.Text Dim fechaElaboracionMin As String fechaElaboracionMin = Format(DateAdd("m", -CInt(meses), Date), "yyyy-mm-dd") Dim criterioFecha As String If chkinvertir = False Then ' chequea fechaElaboracion contra la fecha de elaboracion de la tabla elaboracion criterioFecha = "ela_fecha > #" & fechaElaboracionMin & "#" Else criterioFecha = "ela_fecha < #" & fechaElaboracionMin & "#" End If llenarLstRecetas criterioFecha Else MsgBox "Pone un numero pelotudo" End If End Sub Public Sub btnbuscaringrediente_Click() buscarPorIngrediente txtpalabraclave End Sub Public Sub buscarPorIngrediente(txtpalabraclave As String) If txtpalabraclave <> "" Then lstrecetas.Clear lstingredientes.Clear Dim recetas As Recordset Set recetas = abrirTabla("Receta", oDB) Dim criterioRecetas As String criterioRecetas = "rec_Activo = True" recetas.FindFirst criterioRecetas Do While Not recetas.NoMatch Dim busquedaEncontrada As Boolean busquedaEncontrada = False Dim preparacion As Recordset Set preparacion = abrirTabla("Preparacion", oDB) Dim criterioPreparacion As String criterioPreparacion = "pre_rec_Codigo = " & recetas("rec_Codigo") preparacion.FindFirst criterioPreparacion Do While Not preparacion.NoMatch Dim ingrediente As Recordset Set ingrediente = abrirTabla("Ingrediente", oDB) Dim criterioIngrediente As String criterioIngrediente = preparacion("pre_ing_Codigo") & " = ing_Codigo" & " AND ing_Nombre like '*" & txtpalabraclave & "*'" ingrediente.FindFirst criterioIngrediente Do While Not ingrediente.NoMatch busquedaEncontrada = True Exit Do Loop preparacion.FindNext criterioPreparacion Loop If busquedaEncontrada = True Then agregarItemLista lstrecetas, recetas("rec_Nombre"), recetas("rec_Codigo") End If recetas.FindNext criterioRecetas Loop Else MsgBox "Por favor complete el campo de búsqueda" End If End Sub Private Sub btnAgregarNuevaElaboracion_Click() Dim codReceta As Integer codReceta = -1 If lstrecetas.ListIndex > -1 Then codReceta = lstrecetas.ItemData(lstrecetas.ListIndex) End If If codReceta > -1 And txtFecha <> "" And txtNota <> "" Then Dim fechaOk As Boolean fechaOk = False validarFecha txtFecha, fechaOk If fechaOk = True Then 'Agrego nueva elaboración Dim elaboracion As Recordset Set elaboracion = abrirTabla("Elaboracion", oDB) elaboracion.AddNew elaboracion("ela_rec_codigo") = lstrecetas.ItemData(lstrecetas.ListIndex) elaboracion("ela_nota") = txtNota elaboracion("ela_fecha") = txtFecha elaboracion.Update cerrarTabla elaboracion 'Actualizo fecha de última elaboración en DB Dim recetas As Recordset Set recetas = abrirTabla("Receta", oDB) Dim criterioEncuentraRecetas As String criterioEncuentraRecetas = "rec_Codigo = " & lstrecetas.ItemData(lstrecetas.ListIndex) recetas.FindFirst criterioEncuentraRecetas Do While Not recetas.NoMatch recetas.Edit recetas("rec_UltimaElaboracion") = txtFecha recetas.Update recetas.FindNext criterioEncuentraRecetas Loop cerrarTabla recetas MsgBox "elaboracion creada" txtFecha = "" txtNota = "" lstingredientes.Clear llenarLstRecetas End If Else: MsgBox "Por favor seleccione una receta e ingrese los valores" End If 'cuando hace click tiene que crear una nueva instancia de la tabla elaboracion 'hay que validar la fecha, que la descripcion no este vacia y que haya 'seleccionado alguna receta del listado (lstrecetas.itemData(lstrecetas.listIndex)) 'limpiar los campos si hubo un error o si fue cargado 'con exito llenar de vuelta el listado 'despues loopeas la tabla recetas y chequeas contra el 'codigo de la receta seleccionada para sacar el nombre End Sub
run
|
edit
|
history
|
help
0
If Function returns not Nothing for DateTime
age v2
loop 2 (until)
الحاسوب
ABS Cracker
CAI Visual Basic - Ej Gastos Chofer
Selected Shakespeare Sonnet for doy mod 150
CAI - Visual Basic - Libreria de funciones
http://wataniaind.com/SitePages/HomePage.aspx
HafizTutoring.csproj