Avatar billede anders1000 Nybegynder
29. april 2002 - 12:41 Der er 16 kommentarer og
1 løsning

Database

Hej...

Jeg har lavet en database, men når jeg har tilføjet noget nyt i databasen kan jeg først søge på den efter at jeg har lukket min database og starten den igen.. kan man ikke lave noger så man ikke skal gøre dette???
Jeg har også et andet problem, hvid man f.eks har en cd-database og og man har 5 album med samme kunstner... når man søger efter kunstneren så finder den kun den første cd, kan man ikke lave en knap så man kan komme til den næste cd???


sådan ser min søge knap ud:

Private Sub Command2_Click()
Dim soegetitel As String
soegetitel = InputBox("Hvem har indspillet cd'en?")
Data1.Recordset.MoveFirst
Do While Data1.Recordset.EOF = False
If Data1.Recordset("kunstner") = soegetitel Then
Exit Sub
End If
Data1.Recordset.MoveNext
Loop
MsgBox "CD'en findes ikke"
End Sub

Håber at der er nogen der kan hjælpe mig...
Avatar billede terry Ekspert
29. april 2002 - 13:06 #1
try data1.recordset.refresh

You should take at the recordset.findfrist and .findnext methods to search for records
Avatar billede terry Ekspert
29. april 2002 - 13:09 #2
if you are adding data through the data1.recordset then new data should alreadyu be available, but if your adding it for example directly in the database or through another recordset then you will need to refresh the recordset!
Avatar billede anders1000 Nybegynder
29. april 2002 - 13:28 #3
Hvad er det for en recordset.findfrist and .findnext methods du snakker om???
Jeg kan ikke få det der "data1.recordset.refresh" til at virke, den siger at der er fejl..
Avatar billede terry Ekspert
29. april 2002 - 13:39 #4
data1.recordset.findfirst and data1.recordset.findnext (look in help) for examples!
Avatar billede anders1000 Nybegynder
29. april 2002 - 13:40 #5
Er der nogen der har et andet bud??
Avatar billede terry Ekspert
29. april 2002 - 13:47 #6
' Find the first record
  data1.recordset.FindFirst "kunstner = '" & soegetitel & "'"

  ' Loop through those found
  Do Until data1.recordset.NoMatch
      Debug.Print data1.recordset.Fields("kunstner").Value
      data1.recordset.FindNext "kunstner = '" & soegetitel & "'"
  Loop
Avatar billede terry Ekspert
29. april 2002 - 13:47 #7
try
data1.recordset.requery
Avatar billede mikker Nybegynder
29. april 2002 - 16:02 #8
Hvad med at bruge update ?

data1.recordset.update

kan ikke lige huske det...

- Mikker
Avatar billede anders1000 Nybegynder
29. april 2002 - 17:55 #9
data1.recordset.update virker ikke jeg har prøvet...
Avatar billede anders1000 Nybegynder
29. april 2002 - 18:01 #10
data1.recordset.refresh har jeg fået til at virke... tak
jeg kan bare ikke lige få det andet til at virke, skal man ikke have en knap der fortæller at den skal tage det næste den finder??
Avatar billede terry Ekspert
29. april 2002 - 18:10 #11
anders1000 I dont know what fields you have or how your database is design so this is JUST and example which writes the information to the debug window.

Once you have this working you can then think about puuting the code in a buttons on click event.
Avatar billede anders1000 Nybegynder
29. april 2002 - 18:14 #12
Jeg har os fået det her til at køre :
' Find the first record
  data1.recordset.FindFirst "kunstner = '" & soegetitel & "'"

  ' Loop through those found
  Do Until data1.recordset.NoMatch
      Debug.Print data1.recordset.Fields("kunstner").Value
      data1.recordset.FindNext "kunstner = '" & soegetitel & "'"
  Loop


men det finder stadig kun den første med det navn jeg søger, jeg kan ikke få den til at finde den næste.
Avatar billede terry Ekspert
29. april 2002 - 18:18 #13
Are you sure there are others?
Avatar billede anders1000 Nybegynder
29. april 2002 - 18:23 #14
ja... sån her ser det ud.

søg:
Private Sub Command5_Click()
soegetitel = InputBox("Hvorfor en sang vil du søge efter?")
'Find the first record
  Data1.Recordset.FindFirst "kunstner = '" & soegetitel & "'"
 
  'Loop through those found
  Do Until Data1.Recordset.NoMatch
      Debug.Print Data1.Recordset.Fields("kunstner").Value
      Data1.Recordset.FindNext "kunstner = '" & soegetitel & "'"
Loop
  End Sub




Næste resultat:
Private Sub Command6_Click()
 
' Loop through those found
  Do Until Data1.Recordset.NoMatch
      Debug.Print Data1.Recordset.Fields("kunstner").Value
      Data1.Recordset.FindNext "kunstner = '" & soegetitel & "'"
Loop

End Sub




Det er nok noget med nok den der næste resultat der er noget galt med..
Avatar billede terry Ekspert
29. april 2002 - 19:24 #15
I will take a look if you want terry@santhell.dk
Avatar billede anders1000 Nybegynder
29. april 2002 - 19:46 #16
Håber at du kan få det til at virker
Avatar billede terry Ekspert
29. april 2002 - 20:03 #17
I will get back just as soon as I have looked at it :o)
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