Problemas con archivo aleatorio
Hola amigos:
Tengo un problema esta cadena, mas abajo les pongo el codigo espero me tengan paciencia
Estoy tratando de hacer una consulta especifica a un archivo aleatorio en el cual los creo e ingreso Nombre - Apellido - Edad y quiero consultar por el apellido pero si el apellido no es = debe rechazar de lo contrario me debe mostrar los tres campos
el problema es que si ingreso un apellido que no corresponde a la consulta igual me muestra los datos almacenados donde esta el problema?
Option Explicit
Private Type T_Persona
Nombre As String * 20
Apellido As String * 20
Edad As Byte
End Type
Dim Persona As T_Persona
Private Sub cmd_agregar_Click()
se habilitan los TextBox para el ingreso de datos
txtnombre.Enabled = True
txtnombre.SetFocus
txtapellido.Enabled = True
txtedad.Enabled = True
txtnombre.BackColor = &H8000000E
txtapellido.BackColor = &H8000000E
txtedad.BackColor = &H8000000E
cmd_grabar.Enabled = True
End Sub
Private Sub cmd_Consultar_Click()
AQUI TENGO EL DRAMA
If (txt_consulta = ""

Then Si no hay dato para consulta entonces mensaje
MsgBox "Ingrese un nombre para realizar la consulta", vbCritical, "Dato incompleto"
End If
Open "C:info.dat" For Random As #1 Len = Len(Persona) Abro el archivo con el tamaño indicado las variables Type que puse en General
Get #1, , Persona leo el archivo
If Val(Persona.Apellido) <> Val(txt_consulta) Then hago la Comparacion de la posicion Persona.Apellido
MsgBox "El nombre no existe", vbInformation, "Informe" Si el apellido no es igual mensaje
txt_consulta = ""
txt_consulta.SetFocus
Close
Else
Pero si es igual muestre los datos correspondientes al apellido
txtnombre.Text = Persona.Nombre
txtapellido.Text = Persona.Apellido
txtedad.Text = Persona.Edad
Close
End If
End Sub
Private Sub cmd_grabar_Click()
AQUI NINGUN DRAMA
If (txtnombre = ""

Or (txtapellido = ""

Or (txtedad = ""

Then Me aseguro que los datos esten completos
MsgBox "Debe ingresar los datos del cliente", vbCritical, "Error" Si no es asi, mensaje
End If
Open "C:info.dat" For Random As #1 Len = Len(Persona) Abrimos el archivo
Asigno los TextBox a los campos
Persona.Nombre = txtnombre.Text
Persona.Apellido = txtapellido.Text
Persona.Edad = Val(txtedad.Text)
Grabamos los datos
Put #1, 1, Persona
Close Cierro todos los archivos abiertos
txtnombre.Text = ""
txtapellido.Text = ""
txtedad.Text = ""
txtnombre.Enabled = False
txtapellido.Enabled = False
txtedad.Enabled = False
txtnombre.BackColor = &H8000000F
txtapellido.BackColor = &H8000000F
txtedad.BackColor = &H8000000F
cmd_grabar.Enabled = False
End Sub
Private Sub cmd_Salir_Click()
Unload Me
End Sub
Private Sub Form_Load()
Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 2
End Sub
Por favor Que esta pasando? ,y no se que hacen esas caritas en medio de mi codigo Ja, Ja, Ja.... ah, son las comillas y los cierre de parentesis, que los asumio como caritas ja, ja, ja.............
Editado por
Chileno123456, Sabado, 25 de Octubre de 2003, 13:01</TR>