Avatar billede redfox Nybegynder
27. maj 2003 - 13:10 Der er 8 kommentarer og
1 løsning

.Filter virker ikke

Private Sub Form_Load()
    Dim dbs As Database
    Dim rs As Recordset
End Sub

Private Sub soeg_Click()
 
    Set dbs = CurrentDb()
    Set rs = dbs.OpenRecordset("Bog")
   
    If Not rs.EOF Then
      rs.Filter = "Bogtitel = '%" & titel & "%'"
    End If
    MsgBox (rs("Bogtitel"))
   
End Sub

Titel er et indtastningsfelt.

Jeg får runtime error 3251. Hvorfor?
Avatar billede bennytordrup Nybegynder
27. maj 2003 - 13:23 #1
Hvor får du fejlen?

Bruge du DAO eller ADO?

Hvis du bruger DAO, skal du bruge * som wildcard i stedet for %. Desuden skal du søge med LIKE i stedet for =:

"Bogtitel like 'En%'"
Avatar billede redfox Nybegynder
27. maj 2003 - 13:35 #2
Handlingen understøttes ikke af denne objekttype.

Det er selve rs.filter der ikke virker (tror jeg). Det virker heller ikke hvis jeg giver den noget absolut, f.eks. rs.Filter = "tal=3"
Avatar billede bennytordrup Nybegynder
27. maj 2003 - 13:51 #3
Fra MSDN omkring Filter:

Filter Property

Sets or returns a value that determines the records included in a subsequently opened Recordset object (Microsoft Jet workspaces only).

Settings and Return Values


The setting or return value is a String data type that contains the WHERE clause of an SQL statement without the reserved word WHERE.

Remarks


Use the Filter property to apply a filter to a dynaset-, snapshot-, or forward-only–type Recordset object.

You can use the Filter property to restrict the records returned from an existing object when a new Recordset object is opened based on an existing Recordset object.

In many cases, it's faster to open a new Recordset object by using an SQL statement that includes a WHERE clause.

Use the U.S. date format (month-day-year) when you filter fields containing dates, even if you're not using the U.S. version of the Microsoft Jet database engine (in which case you must assemble any dates by concatenating strings, for example, strMonth & "-" & strDay & "-" & strYear). Otherwise, the data may not be filtered as you expect.

If you set the property to a string concatenated with a non-integer value, and the system parameters specify a non-U.S. decimal character such as a comma (for example, strFilter = "PRICE > " & lngPrice, and lngPrice = 125,50), an error occurs when you try to open the next Recordset. This is because during concatenation, the number will be converted to a string using your system's default decimal character, and Microsoft Jet SQL only accepts U.S. decimal characters.
Avatar billede dk_akj Nybegynder
28. maj 2003 - 08:35 #4
rs.Filter = "Bogtitel = '%" & titel.text & "%'"

//akj
Avatar billede redfox Nybegynder
28. maj 2003 - 08:39 #5
Det giver følgende:

"Runtime error 2185: Du kan ikke referere til en egenskab eller en metode for et kontrolelement, hvis det ikke har fokus."
Avatar billede dk_akj Nybegynder
28. maj 2003 - 08:43 #6
Jeg går ud fra at titel er en textbox.

Private Sub soeg_Click()

    ' overfør søgeord.
    soegtitel = titel.text

    Set dbs = CurrentDb()
    Set rs = dbs.OpenRecordset("Bog")
   
    If Not rs.EOF Then
      rs.Filter = "Bogtitel = '%" & soegtitel & "%'"
    End If
    MsgBox (rs("Bogtitel"))
   
End Sub
Avatar billede somaliomar Praktikant
01. juni 2003 - 13:05 #7
Hvorfor bruge DAO når du har mulighed for at bruge ADO som er meget bedre end DAO. Prøv det her:

Private Sub Form_Load()
End Sub

Private Sub soeg_Click()
    Dim objRs As Object
    Dim strFound As String
    Dim strQuery

    Set objRs = CreateObject("ADODB.Recordset")
    strQuery = "SELECT Bogtitel FROM Bog WHERE Bogtitel LIKE '%" & titel & "%'"
    objRs.Open strQuery, CurrentProject.Connection
   
    If Not objRs.EOF Then
        While Not objRs.EOF
            strFound = strFound & objRs("Bogtitel") & vbCrLf
            objRs.MoveNext
        Wend
    Else
        strFound = "Ingen titler fundet."
    End If

    MsgBox "Flg. titler blev fundet:" & vbCrLf & strFound
End Sub
Avatar billede redfox Nybegynder
02. juni 2003 - 12:46 #8
Det virker søreme :-)
Avatar billede somaliomar Praktikant
02. juni 2003 - 12:55 #9
Selvfølgelig gør det det :D
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester