Gå til innhold

Blaster2k

Medlemmer
  • Innlegg

    379
  • Ble med

  • Besøkte siden sist

Innlegg skrevet av Blaster2k

  1. Hvorfor i all verden får jeg "error Else without If" på dette?

     

    Private Sub Form_Load()
    
    Dim tblTabell As Object
    Set db = OpenDatabase(App.Path & "\bqdb.mdb")
    Set tblTabell1 = db.OpenRecordset("Tabell1")
    
           If Form1.HScroll1.Value = 1 Then
    With tblTabell1
       Text1.Text = !1
       Text2.Text = !2
       Text3.Text = !3
       Text4.Text = !4
       Text5.Text = !5
       Text6.Text = !6
       Text7.Text = !7
       Text8.Text = !8
    
           Else
    With tblTabell1
      Text1.Text = ""
      Text2.Text = ""
      Text3.Text = ""
      Text4.Text = ""
      Text5.Text = ""
      Text6.Text = ""
      Text7.Text = ""
      Text8.Text = ""
           End If
    
    End Sub

  2. Nesten!

    Om man søker på et ord som er i den første raden, kan man ikke finne neste rad med samme ord, med å trykke på knappen igjen.

     

     

     

    Problemer med sletting:

    Jeg fant et eksempel og prøvde å sette koden inn i mitt prosjekt

    Her er koden

    Private Sub Command5_Click()
    'SLETT SJITN
    ' the user wants to delete the selected record.
    ' if there are no records in the listview: exit sub
    If ListView1.ListItems.Count = 0 Then Exit Sub
    'if itemindex = 0 then there is nothing selected!
    If ItemIndex <> 0 Then
       'ok, there is something selected!
       'now we will get the name from the items name, and ask for delete confirmation
       Dim Ask As String
       Ask = MsgBox("Are you sure that you want to delete '" & ListView1.ListItems.Item(ItemIndex).Text & "'?", vbYesNo + vbInformation, "Delete record")
           
       If Ask = vbYes Then
           'user had pressed yes, please delete;-)
           'now we have to get the ID of the row in de database (item's tag!) and delete record from table
           Dim db As Database
           Dim tblTabell1 As Recordset
    ' Open database bqdb.mdb (in the same path as the application files are)
       Set db = OpenDatabase(App.Path + "\bqdb.mdb")
    ' Open recordset (table: People) in database DB
       Set tblTabell1 = db.OpenRecordset("Tabell1")
    'we will seek the record with ID equal to item's tag
    'first we set the table's index (this is the ID)
    'we need this because otherwise we can't use the seek function
       tblTabell1.Index = "ID"
    'we move the recordpointer to the first record, this way we can seek the whole table
       tblTabell1.MoveFirst
    'here we check if the seek functions result is equal to the item's tag.
    'the item's tag contains the ID from the table.
    'we stored it when we were reading from the table
       tblTabell1.Seek "=", ListView1.ListItems.Item(ItemIndex).Tag
       
       If tblTabell1.NoMatch Then
    'if there was no match (the ID couldn't be found in the table)
       MsgBox ("The record can't be found in the table!"), vbOKOnly + vbCritical, "Error"
    'we reset itemindex to 0, this means that nothing is selected in listview1
       ItemIndex = 0
    'close recordset and database
       tblTabell1.Close
       db.Close
    Exit Sub
    
    Else
    'there was a match! we will now delete the record from the database
       tblTabell1.Delete
    'and we will delete the row from the listview
       ListView1.ListItems.Remove (ItemIndex)
    End If
           'close recordset and database
           tblTabell1.Close
           db.Close
       
       End If
       
       'we reset itemindex to 0, this means that nothing is selected in listview1
    ItemIndex = 0
       
    End If
    
    End Sub
    

    Når jeg da trykker på Command5 blir det error med meldingen "'ID' is not an index in this table". Det er en kolonne i tabellen min som heter ID, hva skal jeg gjøre?

     

    By the way; jeg setter stor pris på all hjelpen dere gir og har gitt meg her :)

  3. Den søksaken der var fin, men når man har "søkt seg gjennom" lista en gang kan man ikke søke på det samme ordet igjen før man har reloadet programmet eller det som står i ListView'en (i dette tilfellet en database). (=

     

    Hvordan reloader jeg eller sier til ListView'en "det skjedd endringer i databasen, vis det!"?

     

     

     

    Eeenda et spørsmål:

    For å slette den aktive raden:

    rstInfo.Delete

    Vill den aktive si den som er merket? Isfall får jeg det ikke til (feilmelling -> No current record )

     

     

    Huff som jeg maser :dontgetit:

  4. Takker og bukker.

     

    Jeg "plages" litt med søkingi ListView'en, jeg fant en kode som funket ganske bra:

    Private Sub Command4_Click()
    Dim itm As ListItem
    With ListView1
    Set itm = .FindItem(Text1.Text, lvwText, , lvwPartial)
    If Not itm Is Nothing Then
    .ListItems(itm.Index).Selected = True
    .SetFocus
    End If
    End With
    Set itm = Nothing
    End Sub
    

     

    Men bet er mange ting i listen som begynner (og slutter med det samme) Eksempel: "bil med rød farge" <> "bil med grønn farge" Med den søkemetoden åver kan jeg ikke bare søke etter "grønn" og finne "bil med grønn farge". Og om jeg søker på "bil" så kommer bare til den første linja med som begynner med "bil", jeg vil at man skal gå til neste treff om man trykker på knappen en gang til. Noen ide'er til hvordan?

     

    Litt rotete skrevet kanskje?

  5. Får samme feilmellinga nå:

    Option Explicit
    
    Dim db As Object
    Dim tblTabell1 As Object
    
    Private Sub Form_Load()
    
    Set db = OpenDatabase(App.Path & "\bqdb.mdb")
    Set tblTabell1 = db.OpenRecordset("Tabell1")
    
    AddToList List1
    
    End Sub
    
    Public Sub AddToList(ListView As Variant)
    
    On Error Resume Next
    
    tblTabell1.MoveFirst
          
    Do Until tblTabell1.EOF
      
      ListView.ListItems.Add , , tblTabell1!Navn
      tblTabell1.MoveNext
    Loop
    
    End Sub
    

×
×
  • Opprett ny...