| |
VB.NET - FortgeschritteneDaten Access nach ComboBox | | | Autor: Tweety2016 | Datum: 26.07.19 18:11 |
| Hallo zusammen,
ich kann schon mal die Daten einer Spalte "HT_1" in einer Access Tabelle in einer Combobox anzeigen.
Mit diesem Code:
ComboBox1.DataSource = DataTable
ComboBox1.DisplayMember = "HT_1"
ComboBox1.ValueMember = "HT_1" Aber wie geht es, dass ich unter diese Daten der Spalte "HT_1" auch die Daten der Spalte "HT_2" anzeigen lasse?
THX | |
Re: Daten Access nach ComboBox | | | Autor: Manfred X | Datum: 27.07.19 08:43 |
| Hallo!
Das erkläre genauer.
Du bist Dir im klaren darüber. daß bei der Datenbindung an eine
Auflistung gebunden wird - in Deinem Fall mutmaßlich an die Zeilen
einer Datatable, die Daten aus einer Access-Tabelle enthalten? | |
Re: Daten Access nach ComboBox | | | Autor: Tweety2016 | Datum: 27.07.19 10:15 |
| Hallo,
Ja es handelt sich wie beschrieben um eine Tabelle in Access, die viele Spalten hat.
Die Tabelle heißt Sammlung. Spalten die mich interessieren heißen HT_1 und HT_2.
Ich habe eine Combobox und will jetzt alle Zeilen der Spalten HT_1 und HT_2 untereinander in die Combobox übertragen.
Die Reihenfolge ist nicht wichtig. Es kann also so übertragen werden dass zuerst alle Zeilen der ersten Spalte übertragen werden und unten drunter die der zweiten oder die erste Zeile beider Spalten untereinander dann der zweiten Zeile usw.
Ich kann bisher aber immer nur eine Zeile übertragen.
Wenn es nicht geht, geht es dann jede Spalte in eine eigene Combobox und den Inhalt der beiden Comboboxen in einer dritten Box zusammen führen?
Danke. | |
Re: Daten Access nach ComboBox | | | Autor: Manfred X | Datum: 27.07.19 15:42 |
| Ich verstehe nicht den Zweck.
Mit direkter Datenbindung an die Table geht das nicht.
Vielleicht mit LINQ ....
Dim dt As New DataTable
dt.Columns.Add("HT-1", GetType(String))
dt.Columns.Add("HT-2", GetType(String))
dt.Rows.Add("HT_1_1", "HT_2_1")
dt.Rows.Add("HT_1_2", "HT_2_2")
dt.Rows.Add("HT_1_1", "HT_2_2")
Dim q1 = From r As DataRow In dt
Select r.Field(Of String)("HT-1")
Distinct
Dim q2 = From r As DataRow In dt
Select r.Field(Of String)("HT-2")
Distinct
Dim q1und2 As List(Of String) =
Enumerable.Concat(Of String)(q1, q2).ToList
cbo.DataSource = q1und2 'cbo = Combobox (WinForms) | |
Re: Daten Access nach ComboBox | | | Autor: Tweety2016 | Datum: 27.07.19 19:33 |
| Hi,
bekomme leider eine Fehlermeldung in der ersten Zeile von den drei mit Rows.Add:
{"Die Eingabezeichenfolge hat das falsche Format.<HT_1_1> konnte nicht in der ID-Spalte gespeichert werden. Erwarteter Typ: Int32."}
Die erste der benötigten zwei Spalten ist die Spalte 16 die erste ist die Spalte mit der ID, die ich aber nicht brauche.
Wenn die Daten von der Access Tabelle in die Box geschrieben werden, sind sie darin als DataRowView nicht als String. Wie kann ich alle Items nach String umwandeln?
GRüße | |
Re: Daten Access nach ComboBox | | | Autor: Tweety2016 | Datum: 27.07.19 20:11 |
| Versuchte jetzt so die Items in Strings umzuwandeln und in einer Textdatei zu speichern, scheitere aber an der Zeile "ConnectionString ( Fettschrift ):
Dim W As IO.StreamWriter
Dim i As Integer
Dim READER As OleDbDataReader
Dim COMMAND As OleDbCommand
Dim myConn As New OleDbConnection
Dim Query As String
Query = "select * from database.edata"
myConn.ConnectionString = "WissensdatenbankConnectionString"
COMMAND = New OleDbCommand(Query, myConn)
READER = COMMAND.ExecuteReader
W = New IO.StreamWriter("C:\Desktop\Suche.txt")
For i = 0 To ComboBox1.Items.Count - 1
READER.Read()
Dim myText = READER.GetString(ComboBox1.Items.Item(i))
W.WriteLine(myText)
Next
W.Close() | |
Re: Daten Access nach ComboBox | | | Autor: H?nk | Datum: 28.07.19 12:15 |
| Wenn die Combobox nicht gebunden sein muß, versuch es mal so
Using oConnection As OleDbConnection = New OleDbConnection( _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Pfad_Datenbank & _
"MeineDatenbank.mdb;")
Using oAdapter As OleDbDataAdapter = New OleDbDataAdapter("SELECT" & _
"HT_1, HT_2 FROM MeineTabelle", oConnection)
Using oTable As DataTable = New DataTable
oAdapter.Fill(oTable)
If oTable.Rows.Count > 0 Then
For Each oRow As DataRow In oTable.Rows
ComboBox1.Items.Add(oRow("HT_1"))
ComboBox1.Items.Add(oRow("HT_2"))
Next
End If
End Using
End Using
End Using Hänk
(Wer früh aufsteht hat mehr vom Tag) | |
Re: Daten Access nach ComboBox | | | Autor: Manfred X | Datum: 28.07.19 13:43 |
| Schreibe überall wo im Beispiel Of String steht statt dessen Of Integer,
dann sollte es für zwei Integerspalten funktionieren. | |
Re: Daten Access nach ComboBox | | | Autor: Tweety2016 | Datum: 12.08.19 11:27 |
| Danke vielmals !!! | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats Neu! sevCoolbar 3.0
Professionelle Toolbars im modernen Design!
Mit sevCoolbar erstellen Sie in wenigen Minuten ansprechende und moderne Toolbars und passen diese optimal an das Layout Ihrer Anwendung an (inkl. große Symbolbibliothek) - für VB und MS-Access Weitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|