27. maj 2002 - 11:23Der er
16 kommentarer og 1 løsning
FlereMarkering i listbox
Hej
Jeg har brug for at kunne markere flere måneder i en listboks i en formular og få dem gemt. Ligeledes skal markeringerne vises igen, når posten hentes igen i formularen.
Aktuelt er der tale om at kunne markere flere blomstringsmåneder i en blomsterdatabase. Jeg har ikke lavet relationer af hensyn til en senere fritekstsøgning i basen.
Sub opdaterLstMnd() Dim i As Integer Dim lstMnd As Integer, BlomstId As Integer BlomstId = Me.[BlomstId] For i = 1 To lstMnd.ListCount 'første række i listen = 1 Hvis du anvender overskrifter lstId = lstMnd.Column(0, i) If malId <> DLookup("[BlomstId]", _ "BlomstringsMnd", _ "[MndId] = " & lstId & _ " AND [BlomstId] = " & BlomstId) Then lstMnd.Selected(i) = False Else lstMnd.Selected(i) = True End If Next i End Sub
I formen onCurrent ligger så : Private Sub Form_Current() opdaterLstMnd End Sub
Her er én kode: 3 tabeler : tblBlomst(blomstId, navn) tblBlomsting (blomstId, MndId) tblMnd (MndId, MndNavn) 1 form med: bygger på tblBlomst listbox (lstMnd, flerMarkering = simpel) textbox med blomstNavn
Option Compare Database Option Explicit
Sub opdaterLstMnd() Dim i As Integer Dim IntmndID As Integer
For i = 1 To lstMnd.ListCount - 1 'første række i listen = 1 Hvis du anvender overskrifter IntmndID = lstMnd.Column(0, i) If Me!BlomstId <> Nz(DLookup("[BlomstId]", _ "tblBlomstring", _ "[MndId] = " & IntmndID & _ " AND [BlomstId] = " & Me!BlomstId), -1) Then lstMnd.Selected(i) = False Else lstMnd.Selected(i) = True End If Next i End Sub
Private Sub Form_Current() opdaterLstMnd End Sub
Private Sub lstMnd_Click() DoCmd.RunSQL "DELete * FROM tblBlomstring WHERE BlomstId = " & _ Me!BlomstId
Hej Niels, Jeg har med stor interesse siddet et stykke tid og kæmpet med et problem der ligner Alans vedr. MulitiSelect fra en Listboks til en anden. Hvis muligt vil jeg meget gerne se den eksempel-db du sendte til Alan. du skal nok blive betalt i points. adresse: sk.poder@mail1.stofanet.dk
Endnu en gang tak for eksempel-db'en. Det virker jo perfekt. Jeg har dog ændret den en smule så de valge poster kommer frem i en anden listboks, men jeg har lige et spørgsmål som du måske selv har overvejet. Når man sletter en post(I dit eksempel en måned i mit et musikinstrument) så sletter man alle poster! Ved en overskuelig mængde data er dette ikke det helt store problem, men ved store mængde data eller i det tilfælde hvor de indtastede værdier skal bruges senerehen er det nok ikke så hensigtsmæssigt i længden. Problemet ligger i (tror jeg): DoCmd.RunSQL "DELETE * FROM TBLORKESTERMUSIKERINSTRUMENT WHERE ORKESTERMUSIKERID = " & Me!lstSpiller & ""
Kan den modifiseres så den KUN sletter den aktuelle post på listen?
Hej Niels Mht. mit lille problem med de to listboke er det ikke så lille endda. Jeg kan simpelthen ikke få den til at slette en post. Jeg ved ikke om du har fundet en løsning på problemet, men under alle omstændighder hr jeg oprettet et spørgsmål med titlen "Slette mange til mange relation fra en listboks". Jeg håber du har tid til at kigge forbi og evt. hente nogle points.
Det er mig der undskylder - jeg havde ikke lige set at du har besvaret mit indlæg. Jeg har sendt dig en mail med nogle oplysninger. Jeg håber at det kan være til en hjælp.
JEg fandt en løsning på problemet, men mange tak for din hjælp!
Synes godt om
Ny brugerNybegynder
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.