eduardo barrera

Generation

translateSun, 01 Dec 2024

Private Sub cmdBuscar_Click() If TextRut.Text = "" Then MsgBox "El campo Rut debe ser llenado", vbInformation, "Aviso": TextRut.SetFocus: Exit Sub TextNombre = "" TextDireccion = "" With Rsclientes .Requery .Find "RUT='" & Trim(TextRut.Text) & "'" If .EOF Then MsgBox "No encontado", vbExclamation TextRut.Text = "" TextRut.SetFocus CmdNuevoCliente.Enabled = True Else CmdNuevoCliente.Enabled = False TextNombre.Text = .Fields("NOMBRE").Value TextDireccion.Text = .Fields("DIRECCION").Value CmdEliminar.Enabled = True CmdModificar.Enabled = True End If End With End Sub

Aquí te muestro la equivalente función en Python utilizando la biblioteca `sqlite3` para interactuar con una base de datos SQLite: ```python import sqlite3 def buscar_cliente(rut): try: conn = sqlite3.connect('clientes.db') cursor = conn.cursor() cursor.execute("SELECT * FROM clientes WHERE RUT=?", (rut,)) row = cursor.fetchone() if row: return { 'nombre': row[1], 'direccion': row[2] } else: return None except sqlite3.Error as e: print(f"Error: {e}") finally: if conn: conn.close() def cmd_buscar_click(): rut = TextRut.get() if not rut: MsgBox("El campo Rut debe ser llenado", "Aviso") TextRut.focus_set() return TextNombre.delete(0, tkinter.END) TextDireccion.delete(0, tkinter.END) cliente = buscar_cliente(rut) if cliente: TextNombre.insert(0, cliente['nombre']) TextDireccion.insert(0, cliente['direccion']) CmdEliminar.config(state='normal') CmdModificar.config(state='normal') CmdNuevoCliente.config(state='disabled') else: MsgBox("No encontrado", "Aviso") TextRut.delete(0, tkinter.END) TextRut.focus_set() CmdNuevoCliente.config(state='normal') ``` Ten en cuenta que: - La función `buscar_cliente` conecta a la base de datos, ejecuta una consulta SQL para buscar el cliente con el rut proporcionado y devuelve un diccionario con los datos del cliente si existe, o `None` si no existe. - La función `cmd_buscar_click` obtiene el valor del campo Rut, verifica si está vacío, y si no, busca el cliente en la base de datos. Si el cliente existe, actualiza los campos Nombre y Dirección con los datos del cliente y habilita los botones Eliminar y Modificar. Si el cliente no existe, muestra un mensaje de error y vuelve a habilitar el botón Nuevo Cliente. Recuerda que debes importar la biblioteca `tkinter` para utilizar las funciones `MsgBox` y `focus_set`.

Questions about programming?Chat with your personal AI assistant