• Domingo 19 de Mayo de 2024, 01:24

Autor Tema:  Buscar En Una Base Datos Access97 Con Dao  (Leído 2897 veces)

neorent

  • Miembro MUY activo
  • ***
  • Mensajes: 249
    • Ver Perfil
    • http://www.laestokada.cl
Buscar En Una Base Datos Access97 Con Dao
« en: Jueves 15 de Diciembre de 2005, 19:42 »
0
hola a todos:
bueno tengo una base de datos access97 y una aplicacion la cual se conecta a esta lee, graba y todo eso, pero lo que necesito ahora es hacer que una busqueda pero es desordenada pero no se repiten los campos que busco pero quiero mas o menos que sea ordenado no se si me explico bueno les adjunto el codigo que tengo y ustedes me cuentan como lo puedo hacer o mejorar si es que se puede hacer algo :P  gracias a todos.

Dim a As Database
Dim b As Recordset
Dim c As Recordset
Const mstrAppTitle = "Alpicacion"

Private Sub Command1_Click()
Unload Me
Form2.Show
End Sub

Private Sub Command2_Click()
Call folio
End Sub

Private Sub Command3_Click()
Frame1.Visible = False
Text1.SetFocus
End Sub

Private Sub Form_Load()
Set a = OpenDatabase("\\Obiwan\soporte\prueba\bd1.mdb")
Set b = a.OpenRecordset("maestro_atenciones")
Set c = a.OpenRecordset("equipamiento_atendido")
If b.RecordCount = 0 Then
    MsgBox "No Existen Registros", vbInformation, "Por Favor Ingrese"
Else
    b.MoveFirst
End If
If c.RecordCount = 0 Then
    MsgBox "No Existen Registros", vbInformation, "Por Favor Ingrese"
Else
    c.MoveFirst
End If

Frame1.Visible = False
End Sub


Sub folio()
b.MoveFirst
Do While b.EOF = False
    If Text1.Text = b("folio_atencion") Or Text1.Text = b("fecha_llamado") Or Text1.Text = b("hora_llamado") & "" Or Text1.Text = b("usuario_atencion") & "" Or Text1.Text = b("direccion_depto") & "" Or Text1.Text = b("n_oficina") & "" Or Text1.Text = b("fono_anexo") & "" Or Text1.Text = b("problema_descrito") & "" Or Text1.Text = ("tipo_problema") & "" Or Text1.Text = b("tecnico_asignado") & "" Then
        Frame1.Visible = True
        Text2.Text = b("folio_atencion")
        Text3.Text = b("fecha_llamado") & ""
        Text4.Text = b("hora_llamado") & ""
        Text5.Text = b("usuario_atencion") & ""
        Text6.Text = b("direccion_depto") & ""
        Text7.Text = b("n_oficina") & ""
        Text8.Text = b("fono_anexo") & ""
        Text9.Text = b("problema_descrito") & ""
        Text10.Text = b("tipo_problema") & ""
        Text11.Text = b("tecnico_asignado") & ""
        Text12.Text = b("fecha_atencion") & ""
        Text13.Text = b("hora_salida_atencion") & ""
        Text14.Text = b("hora_inicio_atencion") & ""
        Text15.Text = b("hora_termino_atencion") & ""
        Text16.Text = b("hora_llegada_atencion") & ""
        Text17.Text = b("problema_detectado") & ""
        Text18.Text = b("solucion_atencion") & ""
        Text19.Text = b("obs_atencion") & ""
        Text20.Text = b("derivado") & ""
        Text21.Text = b("mti") & ""
        Text22.Text = b("fecha_cierre_atencion") & ""
        Text23.Text = b("estado_atencion") & ""
        b.MoveNext
        If MsgBox("Desea Continuar", vbYesNo, mstrAppTitle) = vbNo Then
            MsgBox "Esto le hara salir", vbInformation, "Continue"
            Exit Do
        End If
    End If
If b.EOF = True Then
b.MoveFirst
End If
b.MoveNext
Loop

End Sub


bueno alguno de ustedes me puede ayudar se los agradesco que esten muy bien y muchas gracias adios
Un Tigre Nunka Kambia Sus Rayas

Yovana

  • Nuevo Miembro
  • *
  • Mensajes: 20
    • Ver Perfil
Re: Buscar En Una Base Datos Access97 Con Dao
« Respuesta #1 en: Jueves 15 de Diciembre de 2005, 20:09 »
0
Hola

No soy una experta en el trema pero si trabajo con acces97 y visual

ahora tedigo que el codigo en apariencia esta bien

pregunto que es lo que quieres ordenar, por que campo de la base de datos

tu prersentas los datos todos a la vez o uno por uno

bueno en lo me suministres esos datos te ayudare un poco mas



saludos
Nuestra ignorancia es directamente proporcional a la medida en que creemos en la injusticia. Lo que para la oruga es la muerte, para el resto del mundo es el nacer de una mariposa.

hdr

  • Miembro MUY activo
  • ***
  • Mensajes: 128
    • Ver Perfil
Re: Buscar En Una Base Datos Access97 Con Dao
« Respuesta #2 en: Jueves 15 de Diciembre de 2005, 20:09 »
0
no entiedo lo que quieres decir con ordenada, pero yo utilizo

rs.findfirst("Nombredelcampo=" & variable) 'esto si es un numero
rs.findfirst("ombredelcampo=' & variable & "'") ' esto para una cadena

para utilizar findfirs debes tener el recordset en modo dynaset de lo contrario debes utilizar Seek

rs.index = "nombre del indice" 'en access las llaves principales se llaman primarykey
rs.Seek "=",variable

en ambos casos utilizas rs.nomatch por si no encuentra un registro que coincida con las condiciones de busqueda

neorent

  • Miembro MUY activo
  • ***
  • Mensajes: 249
    • Ver Perfil
    • http://www.laestokada.cl
Re: Buscar En Una Base Datos Access97 Con Dao
« Respuesta #3 en: Jueves 15 de Diciembre de 2005, 20:53 »
0
aver como mostraba el codigo a continuacion esta bien pero saben lo que yo quiero es que por ejemplo yo hago una busqueda por cualquier campo pero que siempre se ordene por folio_atencion que es la llave primaria no se sime entienden que si yo busco un dato lo muestre pero que sea acorde al folio de atencion osea si yo tengo el los folios 10,50,80,90 que los muestre en ese orden y no como me lo muestra que es asi 10,90,50,80 no se, si se puede y si me puden ayudar se los agradesco ok adios
Un Tigre Nunka Kambia Sus Rayas

hdr

  • Miembro MUY activo
  • ***
  • Mensajes: 128
    • Ver Perfil
Re: Buscar En Una Base Datos Access97 Con Dao
« Respuesta #4 en: Viernes 16 de Diciembre de 2005, 01:52 »
0
cuando abras el recordset lo tienes que hacer con una sentencia SQL

set rs = db.openrecordset("SELECT * FROM folio ORDER BY campo")

neorent

  • Miembro MUY activo
  • ***
  • Mensajes: 249
    • Ver Perfil
    • http://www.laestokada.cl
Re: Buscar En Una Base Datos Access97 Con Dao
« Respuesta #5 en: Viernes 16 de Diciembre de 2005, 12:21 »
0
Cita de: "hernanvid"
cuando abras el recordset lo tienes que hacer con una sentencia SQL

set rs = db.openrecordset("SELECT * FROM folio ORDER BY campo")
HOLA MIRA DESEO QUE VEAS ESTE CODIGO Y ME DIGAS PK ME ARROJA UN ERROR QUE NO ENTIENDO PK SUCEDE SI ESTOY HACIENDO TODO BIEN Y QUIZAS ALGUNA PARTE DEL CODIGO ESTA MAL ME PUEDES INDICAR CUAL PUEDE SER?
TE  LO AGRADESCO ADIOS

Option Explicit
Private db As Database
Private rs As Recordset

Private Sub Command7_Click()
End
End Sub

Private Sub Form_Load()
Const sPathBase As String = "\\obiwan\soporte\prueba\bd1.MDB"
Set db = OpenDatabase(sPathBase)
Set rs = db.OpenRecordset("SELECT * FROM maestro_atenciones", dbOpenDynaset)
With ListView1
       
        .View = lvwReport
       
        .GridLines = True
     
        .LabelEdit = lvwManual
   
        .ColumnHeaders.Add , , "Folio atencion", 800
        .ColumnHeaders.Add , , "Nombre Usuario", 2500
        .ColumnHeaders.Add , , "Tecnico Asignado", 1500, lvwColumnRight
    End With
End Sub
Private Sub cmdBuscar_Click()
   
    Dim sBuscar As String
    Dim tRs As Recordset
    Dim tLi As ListItem
    sBuscar = "SELECT * FROM maestro_atenciones WHERE Author LIKE '" & Text2 & "' ORDER BY usuario_atencion"
    Set tRs = db.OpenRecordset(sBuscar, dbOpenSnapshot)
    With tRs
        If (.BOF And .EOF) Then
            MsgBox "No se han encontrado los datos buscados"
        Else
            ListView1.ListItems.Clear
            .MoveFirst
            Do While Not .EOF
                Set tLi = ListView1.ListItems.Add(, , .Fields("folio_atencion") & "")
                tLi.SubItems(1) = .Fields("usuario_atencion") & ""
                tLi.SubItems(2) = .Fields("tecnico_asignado") & ""
                .MoveNext
            Loop
        End If
    End With
End Sub


IGUAL TE ADJUNTO el formulario por si acaso pero la base no puedo pk resulta que pesa mas de 2 mb y el foro no lo soporta creo? bueno gracias y que estes bien adios
Un Tigre Nunka Kambia Sus Rayas

Yovana

  • Nuevo Miembro
  • *
  • Mensajes: 20
    • Ver Perfil
Re: Buscar En Una Base Datos Access97 Con Dao
« Respuesta #6 en: Viernes 16 de Diciembre de 2005, 13:57 »
0
Hola

eso es mas fácil de lo que pensamos en Access si folio es la clave principal o independientemente, seleccionas la columna y le dices ordenar en el icono AZ o ZA según el orden que quieras y ya en ese orden que tenga en al base de datos te aparecerá en el formulario de búsquedas

Prueba eso a ver que tal te va

Saludos
Nuestra ignorancia es directamente proporcional a la medida en que creemos en la injusticia. Lo que para la oruga es la muerte, para el resto del mundo es el nacer de una mariposa.

neorent

  • Miembro MUY activo
  • ***
  • Mensajes: 249
    • Ver Perfil
    • http://www.laestokada.cl
Re: Buscar En Una Base Datos Access97 Con Dao
« Respuesta #7 en: Lunes 19 de Diciembre de 2005, 22:10 »
0
Cita de: "Yovana"
Hola

eso es mas fácil de lo que pensamos en Access si folio es la clave principal o independientemente, seleccionas la columna y le dices ordenar en el icono AZ o ZA según el orden que quieras y ya en ese orden que tenga en al base de datos te aparecerá en el formulario de búsquedas

Prueba eso a ver que tal te va

Saludos
hola si se puede hacer eso pero resulta que folio es autonumerico y no se como quedara si lo ordeno asi????????
Un Tigre Nunka Kambia Sus Rayas

masticor

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Re: Buscar En Una Base Datos Access97 Con Dao
« Respuesta #8 en: Sábado 31 de Diciembre de 2005, 18:15 »
0
Cita de: "Yovana"
Hola

eso es mas fácil de lo que pensamos en Access si folio es la clave principal o independientemente, seleccionas la columna y le dices ordenar en el icono AZ o ZA según el orden que quieras y ya en ese orden que tenga en al base de datos te aparecerá en el formulario de búsquedas

Prueba eso a ver que tal te va

Saludos
Lol La mejor respuesta que ley xD