Avatar billede Slettet bruger
11. januar 2004 - 23:57 Der er 6 kommentarer og
2 løsninger

Kan ikke forstå koden. data t combo

Jeg vil gerne kunne se alle txtData(0).Text fra databasen i en combobox, men HVORDAN???

Er der nogen der forstå noget af alt det her...

--------------------------------------------------
Option Explicit

Private objScroll As HScrollBar 'HScrollBar Object

Private Sub cmdDelete_Click()
  Call RemoveItem(CInt(objScroll.Value))
  Call Opdater
  cmdSave.Enabled = True
End Sub

Private Sub cmdRename_Click()
Dim lCount As Integer

  With DataRec
      lCount = CInt(objScroll.Value)
      .ArrData(lCount).bytData1 = txtData(0).Text
      .ArrData(lCount).bytData2 = txtData(1).Text
      .ArrData(lCount).bytData3 = txtData(2).Text
      .ArrData(lCount).bytData4 = txtData(3).Text
      .ArrData(lCount).bytData5 = txtData(4).Text
  End With

  Call Opdater
  cmdSave.Enabled = True
End Sub

Private Sub cmdSave_Click()
  cmdSave.Enabled = False
  Call SaveType
  Call Opdater
End Sub

Private Sub cmdAdd_Click()
Dim lCount As Integer

  With DataRec        'Integer Max = 32767
      If Not (UBound(.ArrData) + 1) > 32767 Then
        lCount = CInt(UBound(.ArrData) + 1)
        ReDim Preserve .ArrData(lCount)
        .ArrData(lCount).bytData1 = txtData(0).Text
        .ArrData(lCount).bytData2 = txtData(1).Text
        .ArrData(lCount).bytData3 = txtData(2).Text
        .ArrData(lCount).bytData4 = txtData(3).Text
        .ArrData(lCount).bytData5 = txtData(4).Text
      End If
  End With

  Call Opdater
  cmdSave.Enabled = True
End Sub

Private Sub cmdSearch_Click()
Dim lCount As Integer
Dim lStart As Integer
Dim strSearch As String

  strSearch = txtSearch.Text 'Søge string

  If Not Len(Trim(strSearch)) = 0 Then
 
    With DataRec
        If UBound(.ArrData) > 0 Then
          lStart = CInt(objScroll.Value + 1)
            Else
          lStart = CInt(objScroll.Value)
        End If
 
        For lCount = lStart To CInt(UBound(.ArrData))
                                    'Søger i bytData1
          If InStr(1, LCase(.ArrData(lCount).bytData1), LCase(strSearch)) <> 0 Then
            objScroll.Value = lCount
            Exit For
          End If
        Next lCount
    End With
 
  End If
End Sub

Private Sub Form_Load()

  Set objScroll = DataScroll          'Set HScrollBar Object
  strPath = App.Path & "\TypeData.dat" 'Path til load/save file

  If LoadType() Then
    'Har hentede data fra dat-file
    Call Opdater
      Else
    'Har lavet en ny dat-fil hvis der ikke er nogle
    Call MsgBox("Databasen er tom, tilføj nye data.")
    Call Opdater
  End If
End Sub

Private Sub Form_Unload(Cancel As Integer)
  'Tjekker om der kan gemmes (.Enabled = True)
  If cmdSave.Enabled = True Then
    If vbYes = MsgBox("Skal de nye ændringerne gemmes?", vbYesNo + vbExclamation) Then
      'Hvis Ja (vbYes) så gem.
      Call SaveType
    End If
  End If
End Sub

Private Sub DataScroll_Change()
  Call Opdater
End Sub

Private Sub DataScroll_Scroll()
  Call Opdater
End Sub

Public Sub Opdater()
Dim lCount As Integer

  With objScroll
      .TabStop = False
      .LargeChange = 150
      .Min = 0
      .Max = CInt(UBound(DataRec.ArrData))
      Me.Caption = "Elevdata " & CStr(.Value) & " af " & CStr(.Max) 'Forms caption
      If .Max = 0 Then
        .Enabled = False
        cmdDelete.Enabled = False
          Else
        .Enabled = True
        cmdDelete.Enabled = True
      End If
  End With

  With DataRec
      lCount = CInt(objScroll.Value)
      txtData(0).Text = .ArrData(lCount).bytData1
      txtData(1).Text = .ArrData(lCount).bytData2
      txtData(2).Text = .ArrData(lCount).bytData3
      txtData(3).Text = .ArrData(lCount).bytData4
      txtData(4).Text = .ArrData(lCount).bytData5
  End With
End Sub

Private Sub mnuend_Click()
  'Tjekker om der kan gemmes (.Enabled = True)
  If cmdSave.Enabled = True Then
    If vbYes = MsgBox("Skal de nye ændringerne gemmes?", vbYesNo + vbExclamation) Then
      'Hvis Ja (vbYes) så gem.
      Call SaveType
    End If
  End If
End
End Sub


Private Sub txtSearch_Change()
  objScroll.Value = 0
End Sub
Avatar billede martin_moth Mester
12. januar 2004 - 13:05 #1
for i = 1 to 5
  combo1.additem txtData(i).Text
next i

Det er lidt svært når man ikke aner hvad txtData osv. er for nogle størrelser, og jeg kender ikek grænserne på i - de er her sat til 1 - 5
Avatar billede sjh Nybegynder
14. januar 2004 - 00:08 #2
Jeg går du fra du også har raster at koden som ligger i et module..

Public Sub AddCombo()
Dim lCount As Integer
  With DataRec
      Combo1.Clear
      For lCount = 0 To UBound(.ArrData)
        Combo1.AddItem CStr(.ArrData(lCount).bytData1)
      Next
  End With
End Sub

og martin_moth txtData er en textbox med index ;)

madsrh123 < men det er jo heller ikke nemt for andre at hjælpe dig når du kun kommer med det halve af koden ;)
Avatar billede Slettet bruger
14. januar 2004 - 00:19 #3
Tak for hjælpen! Jeg er ikke en skid styr på det her, så derfor manglede noget at koden.
Avatar billede Slettet bruger
14. januar 2004 - 00:59 #4
Kan man lave sådan at når man vælger et navn i comboen vises de tilhørende data???

Det er vel noget med 'Private Sub Combo1_Change()'???
Avatar billede sjh Nybegynder
14. januar 2004 - 01:08 #5
ja så må det være noget i den stil:

Private Sub Combo1_Click()
  objScroll.Value = Combo1.ItemData(Combo1.ListIndex) 'MsgBox = lCount
End Sub

Public Sub AddCombo()
Dim lCount As Integer
  With DataRec
      Combo1.Clear
      For lCount = 0 To UBound(.ArrData)
        Combo1.AddItem CStr(.ArrData(lCount).bytData1)
        Combo1.ItemData(Combo1.NewIndex) = lCount '< -lCount
      Next
  End With
End Sub
Avatar billede sjh Nybegynder
14. januar 2004 - 01:09 #6
'MsgBox = lCount

skulle være

'objScroll.Value = lCount
Avatar billede martin_moth Mester
14. januar 2004 - 08:17 #7
madsrh123: "Jeg er ikke en skid styr på det her"

Tror du så det bliver et godt program? Hvis du ikke har styr på det, vil jeg mene det er en rigtig dårlig ide at kopiere noget kode et tilfældigt sted fra, og så rette det til. Brug hellere tiden på at sætte dig ind i hvordan du skal programmere det, og programmer det så selv. Når man tænker på den tid du kan bruge på at lede efter fejl i en kode, du ikke selv har skrevet, er tiden til at lave det selv vist givet godt ud.
Bare min mening, held og lykke :o)
Avatar billede sjh Nybegynder
28. januar 2004 - 15:06 #8
madsrh123 < Er det ikke ved at være lukke tid ;)
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