Jak načíst vybrané položky v seznamu s vícenásobným výběrem jako řetězec oddělený čárkami v aplikaci Microsoft Access
Tento článek se vztahuje buď na soubor databáze Microsoft Access (.mdb), nebo na soubor databáze Microsoft Access (.accdb) a na soubor projektu (.adp) aplikace Microsoft Access.
Střední: Vyžaduje základní dovednosti v makrech, kódování a interoperabilitě.
Souhrn
Tento článek popisuje, jak načíst vybrané položky ze seznamu s více výběry a pak vybrané položky uložit jako řetězec oddělený čárkami v aplikaci Microsoft Access.
Další informace
V aplikaci Microsoft Access určuje hodnota vlastnosti MultiSelect seznamu ve formuláři nebo v sestavě, zda je seznam jedním nebo vícenásobným seznamem výběru. V seznamu s více výběry můžete vybrat více položek seznamu najednou.
K načtení vybrané položky ze seznamu můžete použít vlastnost Value seznamu. Pokud však použijete seznam s vícenásobným výběrem a pokusíte se načíst vybrané položky pomocí vlastnosti Value, vrátí vlastnost Value hodnotu Null.
Můžete načíst vybrané položky ze seznamu s vícenásobným výběrem a potom je uložit jako řetězec oddělený čárkami prostřednictvím kódu programu. Postupujte takto:
Spusťte Aplikaci Microsoft Access.
Otevřete ukázkovou databázi Northwind.
V části Objekty v okně Databáze klikněte na Formuláře.
Poznámka V Accessu 2007 klikněte na Návrh formuláře ve skupině Formuláře na kartě Vytvořit .
V pravém podokně poklikejte na Vytvořit formulář v návrhovém zobrazení.
Poznámka V Accessu 2007 tento krok přeskočte.
Přidejte do formuláře následující ovládací prvky a pak podle potřeby nastavte vlastnosti ovládacích prvků:
List Box ---------------------------------------------------- Name : NamesList Row Source Type : Table/Query Row Source : SELECT First Name FROM Employees Multi Select : Extended Width : 3.5" Height : 0.75" Text Box ----------------------- Name : mySelections Width : 3.5" Height : 0.25" Command Button ---------------------------------- Name : testmultiselect Caption : Display Selected Items Width : 1.375" Height : 0.3" Command Button ---------------------- Name : ClrList Caption : Clear List Width : 1.375" Height : 0.3"
V nabídce View (Zobrazení) klikněte na Code (Kód).
Poznámka V Accessu 2007 klikněte na Zobrazit kód ve skupině Nástroje na kartě Návrh .
Do Editor jazyka Visual Basic vložte následující kód:
Option Compare Database
Option Explicit
Private Sub Form_Current()
Dim oItem As Variant
Dim bFound As Boolean
Dim sTemp As String
Dim sValue As String
Dim sChar As String
Dim iCount As Integer
Dim iListItemsCount As Integer
sTemp = Nz(Me!mySelections.Value, " ")
iListItemsCount = 0
bFound = False
iCount = 0
Call clearListBox
For iCount = 1 To Len(sTemp) + 1
sChar = Mid(sTemp, iCount, 1)
If StrComp(sChar, ",") = 0 Or iCount = Len(sTemp) + 1 Then
bFound = False
Do
If StrComp(Trim(Me!NamesList.ItemData(iListItemsCount)), Trim(sValue)) = 0 Then
Me!NamesList.Selected(iListItemsCount) = True
bFound = True
End If
iListItemsCount = iListItemsCount + 1
Loop Until bFound = True Or iListItemsCount = Me!NamesList.ListCount
sValue = ""
Else
sValue = sValue & sChar
End If
Next iCount
End Sub
Private Sub clearListBox()
Dim iCount As Integer
For iCount = 0 To Me!NamesList.ListCount
Me!NamesList.Selected(iCount) = False
Next iCount
End Sub
Private Sub testmultiselect_Click()
Dim oItem As Variant
Dim sTemp As String
Dim iCount As Integer
iCount = 0
If Me!NamesList.ItemsSelected.Count <> 0 Then
For Each oItem In Me!NamesList.ItemsSelected
If iCount = 0 Then
sTemp = sTemp & Me!NamesList.ItemData(oItem)
iCount = iCount + 1
Else
sTemp = sTemp & "," & Me!NamesList.ItemData(oItem)
iCount = iCount + 1
End If
Next oItem
Else
MsgBox "Nothing was selected from the list", vbInformation
Exit Sub 'Nothing was selected
End If
Me!mySelections.Value = sTemp
End Sub
Private Sub clrList_Click()
Call clearListBox
Me!mySelections.Value = Null
End Sub
Zavřete Editor jazyka Visual Basic.
Uložte formulář jako Formulář1.
Zavřete formulář.
Otevřete formulář Form1 ve formulářovém zobrazení:
V části Objekty v okně Databáze klikněte na Formuláře.
Poznámka V Accessu 2007 klikněte v navigačním podokně na skupinu Formuláře .
V pravém podokně klikněte pravým tlačítkem na Form1 a potom klikněte na Otevřít.
Poznámka V accessu 2007 klikněte pravým tlačítkem na Form1 a potom klikněte na Otevřít.
V seznamu vyberte více položek. Uděláte to tak, že kliknete na položku v seznamu, podržíte stisknutou klávesu CTRL a kliknete na další položky v seznamu.
Klikněte na Zobrazit vybrané položky.
Položky vybrané ze seznamu s vícenásobným výběrem se v textovém poli zobrazí jako řetězec oddělený čárkami.
Společnost Microsoft poskytuje ukázky programování pouze pro ilustraci, bez žádné záruky výslovně uvedené nebo odvozené, včetně, bez omezení, odvozených záruk vztahujících se k obchodovatelnosti nebo vhodnosti pro určitý účel. Tento článek předpokládá, že uživatel je obeznámen s programovacím jazykem, který je předmětem ukázky, a s nástroji použitými pro vytvoření a ladění skriptu. Pracovníci technické podpory společnosti Microsoft mohou vysvětlit funkce určitého postupu, nemohou však následující příklady rozšířit o další funkce nebo konstrukce podle konkrétních požadavků uživatele.
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat Problémy GitHubu jako mechanismus zpětné vazby pro obsah a nahradíme ho novým systémem zpětné vazby. Další informace najdete tady:Odeslat a zobrazit názory pro