Avatar billede choco Nybegynder
25. april 2005 - 12:16 Der er 28 kommentarer og
1 løsning

sharp i listview

jeg vil gerne have lavet en sharp function... jeg har 2 listview hvor i den ene bliver vist de film jeg har plus alt mulig info og så vil jeg gerne have i min listview2 vist om den film jeg klikker på i listview1 er udlånt og og hvem den er udlånt til osv. jeg bruger access og min database er sat rigtig op til det så nu mangler jeg bare at finde ud af hvad kode jeg skal bruge for at sammenflætte det på den måde som jeg overstående har forsøgt at forklare.

til at smide mine film ind i listview1 bruger jeg denne kode :

Private Sub Form_Load()
Dim rs As Recordset, item As ListItem

    Set db = New connection
                                            'open an connection
    db.Open "Provider=Microsoft.Jet.OLEDB.3.51;" & _
              "Data Source=" & App.Path & "\db3.mdb"
    Set rs = New Recordset
    rs.Open "film", db, adOpenForwardOnly, adLockReadOnly
   
    Do While Not rs.EOF
        Set item = Listview1.ListItems.add(, "E" & CStr(rs!filmID), CStr(rs!filmID))
        item.SubItems(1) = rs!titel
        item.SubItems(2) = rs![film navn]
        item.SubItems(3) = rs!kategori
        item.SubItems(4) = rs![cd'er]
        item.SubItems(5) = rs!bemærkning
        rs.MoveNext
    Loop
    rs.Close
    Set rs = Nothing
    Call Form_Resize
End Sub

hvad skal jeg gøre i denne kode??
min database hedder : db3.mdb og den ene tabel hedder : film og den anden hedder : låne

håber der er nogen som kan hjælpe og på forhånd tak..
Avatar billede tubber Juniormester
25. april 2005 - 12:25 #1
Altså du vil ha den skal hente data fra låne ind i listwiev 2 der handler om den film henter ind i listview 1 ?

lige en anden ting er du skal lave tabelnavnet om til noget andet end låne å duer ikke.......og gør dig selv en tjeneste at give dem navn efter hvad det er....
tblLaane så vil du altid i din kode vide det er en table der er tale om......
Avatar billede choco Nybegynder
25. april 2005 - 12:44 #2
det gøre ikk mig så meget om der står tbl eller ej... hvis bare jeg kan få det til at virke så er jeg glad... men okay skal nok lave låne om til laane...

men når jeg låner en film ud vil jeg smide ind i min database/låne hvem den er lånt ud til og hvilken dato han lånte den og når jeg så klikker på den film oppe i listview1 skal den vise nede i listview2 det som passer til den film jeg klikker på så jeg kan se om den er lånt ud eller om jeg har den hjemme...

er du med nu eller skal jeg prøve at forklare det lidt beder???
Avatar billede tubber Juniormester
25. april 2005 - 12:48 #3
Skal det laves på en fornuftig måde så er det lidt mere end bare et klik.......
med mindre du kun har en film i din listview......har du flere kan det blive lidt kringlet da der tit er mere end en film med samme navn, så der skal ID gemmes sammen med navnet......

jeg har også en lånefunktion i et program jeg har lavet (mangler lige at lave søgefunktion færdig)......
Men jeg kan da godt paste koden til det så kan du se på det.....og evt. maile dig projektet.......
Avatar billede tubber Juniormester
25. april 2005 - 12:49 #4
skal lige siges du nok ikke kan bruge min låne funktion til så meget men der er brugen af id som tilknyttes navn i listbox.......
Avatar billede choco Nybegynder
25. april 2005 - 12:55 #5
Ja der er mere end en film. men hvis det nu var en james bond film som hedder Dr. NO så skriver jeg James Bond i en colunne som hedder titel og Dr. NO i en colunne som hedder film navn... men jeg har også ID med som bliver gemt sammen med filmen for eller kunne jeg ikk få min søge function og rediger til at virke...
Avatar billede tubber Juniormester
25. april 2005 - 13:01 #6
Ok så går jeg også ud fra du bruger samme ID i den anden tabel ?

Det nemmeste ville at lægge låne kolonnen ind i den tabel du lister filmene i ? der er alle info jo........

Men det du skal er at låne id ud, og så trække de info du nu vil med over i den anden tabel.........

Private Sub ListView1_Click()
Dim rs As Recordset, item As ListItem

    Set db = New connection
                                            'open an connection
    db.Open "Provider=Microsoft.Jet.OLEDB.3.51;" & _
              "Data Source=" & App.Path & "\db3.mdb"
    Set rs = New Recordset
    rs.Open "laane", db, adOpenForwardOnly, adLockReadOnly
   
    Do While Not rs.EOF
        Set item = Listview1.ListItems.add(, "E" & CStr(rs!filmID), CStr(rs!filmID))
        item.SubItems(1) = rs!titel
        item.SubItems(2) = rs![film navn]
        item.SubItems(3) = rs!kategori
        item.SubItems(4) = rs![cd'er]
        item.SubItems(5) = rs!bemærkning
        rs.MoveNext
    Loop
    rs.Close
    Set rs = Nothing
    Call Form_Resize
End Sub
Avatar billede tubber Juniormester
25. april 2005 - 13:04 #7
Så er det vel noget der ligner det der hov

Private Sub ListView1_Click()
Dim rs As Recordset, item As ListItem

    Set db = New connection
                                            'open an connection
    db.Open "Provider=Microsoft.Jet.OLEDB.3.51;" & _
              "Data Source=" & App.Path & "\db3.mdb"
    Set rs = New Recordset
    rs.Open "laane", db, adOpenForwardOnly, adLockReadOnly
   
    Do While Not rs.EOF
        If rs!id = listview1.item(0) then
        kode
        exit do
        else: rs.movenext
        end if
    Loop
    rs.Close
    Set rs = Nothing
    Call Form_Resize
End Sub
Avatar billede choco Nybegynder
25. april 2005 - 13:07 #8
Er det i listview1 den kode skal ligge eller er det i listview2???

og i min tabel laane har jeg en colunne som hedder filmID lige som jeg har i den tabel der hedder film og det er de 2 jeg har koblet sammen inde i acces...

du må lige sige til hvis du skal bruge bedre forklaring for at kunne hjælpe...
Avatar billede tubber Juniormester
25. april 2005 - 13:46 #9
Den skal ligge i listview1

mener hvis du dobbeltklikker på den den skriver listview1_change() det change skal du bare ændre til click

og hvis du bruger id så vil jeg mene det ikke er nødvendigt at lave relationer.....
det er nemmere at arbejde kun i vb og så bruge id'et som den du arbejder ud fra....
Avatar billede choco Nybegynder
25. april 2005 - 14:15 #10
jaaa nu får jeg bare fejl i If rs!id = listview1.item(0) then
kan det have noget at gøre med at der står tal i den for jeg får ikk fejl hvis jeg ændre 0 til et 1 tal hvor der står tekst i...
Avatar billede tubber Juniormester
25. april 2005 - 14:29 #11
det er nok det

men 1 er jo ikke id.....det var det du gerne skulle kende den på
Avatar billede tubber Juniormester
25. april 2005 - 14:30 #12
hvor har du dit id ?
altså i programmet (listview)?
Avatar billede choco Nybegynder
25. april 2005 - 21:06 #13
fandt selv fejlen.. men hvis du lige smider et svar så får du 100 point for at hjælpe mig på vej til hvad jeg skulle gøre for at få det til at virke...

kan det egentlig lade sig gøre i en tekstbox at lave en function som selv sætter -
eks dd-mm-yyyy syntes jeg har set det et eller andet sted... kan bare ikk huske hvordan man gøre...
Avatar billede tubber Juniormester
25. april 2005 - 21:09 #14
Jo da det er bare date, x skal lige finde ud af hvad x skal være :)
Avatar billede tubber Juniormester
25. april 2005 - 21:11 #15
Her er userdefined date formater finder lige lidt mere om det:

Format Display
m/d/yy 12/7/58
d-mmm 7-Dec
d-mmmm-yy 7-December-58
d mmmm 7 December
mmmm yy December 58
hh:mm AM/PM 08:50 PM
h:mm:ss a/p 8:50:35 p
h:mm 20:50
h:mm:ss 20:50:35
m/d/yy h:mm 12/7/58 20:50
Avatar billede tubber Juniormester
25. april 2005 - 21:15 #16
f.eks. Format(Date, "d-mmm-yyyy") giver 25-apr-2005

Time = Tid
Now = dato og tid
Avatar billede choco Nybegynder
26. april 2005 - 08:15 #17
det der har jeg prøvet men det virker ikk på den måde som jeg gerne vil have det til... jeg vil gerne have at jeg i et textfelt kan skrive 27 og når de to første tal så er sat ind så sætter textfeltet selv - så jeg kan skrive 04 og så skal den igen sætte - og så kan jeg skrive 2005 hvor der så til sidst kommer til at stå 27-04-2005
Avatar billede tubber Juniormester
26. april 2005 - 08:59 #18
Prøv noget med:

Private Sub Form_Load()
Text1.Text = ""
Text1.MaxLength = 10
End Sub

Private Sub Text1_Change()
If Len(Text1.Text) = 2 Then
    Text1.Text = Text1.Text & "-"
ElseIf Len(Text1.Text) = 5 Then
    Text1.Text = Text1.Text & "-"
End If
End Sub

der er dog et lille prob. cursor ryger forrest og bliver ikke bages.....
Avatar billede choco Nybegynder
26. april 2005 - 09:19 #19
man må da sige at det virker det du gav mig... men ja den hopper hen forrest... du har ikk en lille ide om hvordan man kan rette det... hvis ikk så må jeg selv lige se hvad jeg kan gøre... men i hvert fald tak for hjælpen...
Avatar billede tubber Juniormester
26. april 2005 - 11:59 #20
den kan jo gøre noget når der er 8 cars og sætte dem ind.....
Avatar billede tubber Juniormester
26. april 2005 - 12:16 #21
Private Sub Form_Load()
Text1.Text = ""
Text1.MaxLength = 10
End Sub

Private Sub Text1_Change()
If Len(Text1.Text) = 2 Then
    Text1.Text = Text1.Text & "-"
    Text1.SelStart = 3
ElseIf Len(Text1.Text) = 5 Then
    Text1.Text = Text1.Text & "-"
    Text1.SelStart = 6
End If
End Sub
Avatar billede choco Nybegynder
26. april 2005 - 20:00 #22
okay...

du har ikk en ide om hvad jeg skal skrive i en sql sætning for at den kun henter alt det hvor en ja/nej function er = true
jeg har prøvet det her...

sSQL = "SELECT * FROM laane WHERE hjemme = true"

min kulonne men ja/nej i hedder hjemme...
Avatar billede tubber Juniormester
26. april 2005 - 20:09 #23
det er nok fordi den er sat til ja/nej i stedet for true/false jeg kan bedst lide feltet er sat til værdi true/false men prøv:

sSQL = "SELECT * FROM laane WHERE hjemme = ja"
eller
sSQL = "SELECT * FROM laane WHERE hjemme = yes"
Avatar billede choco Nybegynder
26. april 2005 - 20:24 #24
hvis jeg går ind i min access database kan du ikk klikke ja eller nej men du kan sætte et vingetegn eller fjerne det...

men det virker ikk med den der sql sætning
Avatar billede tubber Juniormester
26. april 2005 - 20:59 #25
Hvis du går i designview kan du se navnene på felterne og hvad type det er, når du trykker på dit janej felt så kan du se hvad den hedder for neden....der kan du vælge om det skal være ja/nej eller true/false
Avatar billede tubber Juniormester
26. april 2005 - 21:00 #26
den kan faktisk også stå til on/off
Avatar billede tubber Juniormester
26. april 2005 - 21:01 #27
står den til ja/nej (fordi dansk version) vil vb muligvis lede efter yes/no så det kan være et prob
Avatar billede choco Nybegynder
26. april 2005 - 21:31 #28
hmmm nu fik jeg det til at virke... det var squ bare super det der...
det er du lidt sej til:P
Avatar billede tubber Juniormester
27. april 2005 - 02:11 #29
:O) np du
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