nebellicht
Goto Top

Access 2010 Wie legt Access die Mehrfachauswahl eines Kombinationsfeldes ab

Hallo,

ich versuche gerade eine bestehende Datenbank im Excel Format in eine Accessdatenbankstruktur zu überführen.

Im Speziellen besteht z. B. : eine [Zelle] einer Spalte(ausgewählt wurde) aus: [-1;-3;-4] oder nur [-1;-4] weitere Kombinationen

Die Ziffern sollen dann dem Kombinationsfeld (Tabelle2):

[x] hier wurde EINS ausgewählt
hier wurde ZWEI ausgewählt
[x] hier wurde DREI ausgewählt
[x] hier wurde VIER ausgewählt

zugeordnet werden.

Jetzt wurden die Verküpfungen d. h. Datentabelle1 mit Tabelle2 erstellt.
Aber wie bekomme ich jetzt die Rohdaten aus der Excelzellen hinein in die Datentabelle1, die mit Tabelle 2 verknüpft
ist.

Über

Recordset!Feld = übersetzungsfunktion

komme ich weiter dachte ich. Aber hier weiß ich nicht, was die Übersetzungsfunktion wie zu leisten hat.

Vielen Dank für eine kurzen Ideenanstoß
Gruß Maik

Content-Key: 186709

Url: https://administrator.de/contentid/186709

Printed on: April 25, 2024 at 15:04 o'clock

Member: NetWolf
NetWolf Jun 20, 2012 at 10:48:57 (UTC)
Goto Top
Moin Moin,

ich vermute mal du bist eher im Bereich Excel bewandert?

Eine Datenbank hat mehrere Tabellen, wie in Excel mehrere Tabellenblättern vorkommen können.
Wenn du ein Excel-Tabellenblatt verknüpfst, ist dieses Tabellenblatt nun eine Tabelle in Access.

Wichtig!!
Es wird nur die reine Tabelle übernommen. Alles was dort in Excel hineinprogrammiert wurde wird nicht übernommen!

Tabellen sind für Access die unterste Basis. Sie dienen nur der Datenbeschaffung = mehr nicht!!!!
Versuche erst gar nicht diese Tabellen wie ein Excel-Tabellenblatt anzusehen. Kombifelder in diese Datenblattansicht sind kontraproduktiv!

Für Sortierungen, Filter, Berechnungen etc. nimmt man die Abfragen.

Das Hauptwerkzeug ist das Formular. Damit kannst du alles machen, was du benötigst. Für den Druck verwendet man dann einen Bericht.

Kommen wir nun zu deinem Fall, wo mir noch einiges unklar ist:
Name der Access-Datenbank?
Name der verknüpften Excel-Tabelle?
Name des Formulars, auf dem das Kombinationsfeld liegt?
Name des Kombinationsfeldes?

Tabelle2 soll also die Basis für das Kombi-Feld sein.....ok
Welche Felder (Namen & Typen) gibt es in der Tabelle?
Welche Werte sind in den Feldern gewünscht?

Die verknüpfte Excel-Tabelle hat in welchem Feld (Name & Typ) die Informationen -1;-2;-4 etc.?
Das Kombifeld soll dann eine Mehrfachauswahl anhand der Auswertung dieser Zahlen darstellen können?

Ich persönlich finde, dass man damit keinen Blumentopf gewinnen kann, da die Informationen erst sichtbar werden, wenn man das Kombifeld aufklappt. Hast du dir schon mal Gedanken über Radiobutton gemacht, wo du im Formular direkt sehen könntest, welche Punkte ausgewählt wurden?

Grüße aus Rostock
Wolfgang
(Netwolf)
Member: Nebellicht
Nebellicht Jun 20, 2012 updated at 17:09:41 (UTC)
Goto Top
Hallo Wolfgang,
Danke schon einmal für Deine ausführliche Antwort. Ich kenne mich - trotz der Einstufung hier als Anfänger durchaus mit einigem Kram aus; was IT und drumherum betrifft aus. Allerdings halt auch ein wenig Basiswissen überall ... daher bin ich ja hier um spezielle Dinge mit Deiner oder Eurer Hilfe zu lösen.
Was Access angeht so kenne ich mich damit recht gut aus. Will sagen: ich programmiere auch so die eine oder andere SQL Anfrage von Hand ohne den netten SQL Klick Entwerfer zu nutzen.
Nun habe ich aber im speziellen die Frage, wenn ich eine Naschlageabfrage gestallte innerhalb einer Tabelle, diese als Mehrfachauswahlliste, dann werden wie Daten in der Tabelle bzw. in der Zelle als Datum wie genau abgelegt? Das wäre gut zu wissen, damit ich das oben beschriebene Problem mit diesen Mittel bewerkstelligen kann. Er speichert diese anscheinend - die einzelnen Auswahlkriterien (sogesehen Felder in einer Tabelle) mit einem Semikolon in dieser dafür vorgesehenen.

Aber irgendwie auch nicht wirklich. Access 2010 benutze ich.
Also Werte hinter den Kriterien... kann ich wie per VBA ablegen, denen dann denen in der Nachschlage Tabelle hinterlegten entsprechen!?
Grüße Maik.
Member: NetWolf
NetWolf Jun 20, 2012 at 18:48:18 (UTC)
Goto Top
Moin Moin,

sorry, das konnte ich nicht wissen, dass du dich auskennst face-smile

Also Werte hinter den Kriterien... kann ich wie per VBA ablegen, denen dann denen in der Nachschlage Tabelle hinterlegten entsprechen!?

Eine Mehrfachauswahl mit einem Kombifeld ist nicht möglich. Man verwendet dafür ein Listenfeld, das natürlich in der Datenblattansicht nicht nutzbar ist.

Wenn du eine Nachschlagetabelle nutzen willst, könnte man das z.B. so umsetzen:
Ich persönlich würde es einfach mit der binären Datenbasis machen.
D.h. ich habe eine Nachschlagetabelle mit zwei Spalten. Z.B.: BinZahl, Angezeigte_Info

1 - Info1
2 - Info2
4 - Info3
8 - Info4
usw.

Somit bekommst du eine einzelne, eindeutige Zahl, die du speichern und jederzeit auswerten kannst, wenn du alle gewählten Zahlen zusammenrechnest.

Angenommen....du nutzt ein Listenfeld Liste_1
Ereignis: beim Verlassen

G_Zahl=0

For Each DS In Me.Liste_1.ItemsSelected
G_Zahl = G_Zahl + Me.Liste_1.ItemData(DS)
Next DS

G_Zahl kannst du dann in dem entsprechenden Tabellenfeld speichern.

Grüße aus Rostock
Wolfgang
(Netwolf)
Member: Nebellicht
Nebellicht Jun 21, 2012 at 08:39:45 (UTC)
Goto Top
Hallo Wolfgang,
also bei der Entwurfsansicht der Tabelle habe ich den Nachschlageassistenten benutzt, dieser schreibt in die
Datensatzherkunft folgendes: SELECT [tbl(F1_8)].[ID], [tbl(F1_8)].[Antworten] FROM [tbl(F1_8)] ORDER BY [ID];
Die gebundenen Spalte ist die erste 1.
Jetzt ist das Feld ein LongIntegerFeld. Access speichert aber Mehrfachauswahlen in dieses Zahlenfeld.
Wie genau macht er das?

D.h. wenn ich das selber per VBA lösen will (Datengrundlage sind Daten in einer Exceltabelle) mit -1 entspricht Auswahl A usw.
Was muß ich denn da ins Datum ablegen?


Vielen Dank für Deine schnellen und ausführlichen Antworten.
Gruß Maik
Member: NetWolf
NetWolf Jun 21, 2012 at 15:20:26 (UTC)
Goto Top
Moin Moin,

also bei der Entwurfsansicht der Tabelle habe ich den Nachschlageassistenten benutzt, dieser schreibt in die
Datensatzherkunft folgendes: SELECT [tbl(F1_8)].[ID], [tbl(F1_8)].[Antworten] FROM [tbl(F1_8)] ORDER BY [ID];
also zwei Spalten -> [ID] und [Antworten]

Welchen Namen hat denn dein Tabelle?

Die gebundenen Spalte ist die erste 1.
klar, die [ID] wird im Tabellenfeld gespeichert

Jetzt ist das Feld ein LongIntegerFeld. Access speichert aber Mehrfachauswahlen in dieses Zahlenfeld.
Da für das Nachschlagefeld eine Kombi-Auswahl verwendet wird, geht das eigentlich nicht.
Aber ich werde mal testen.

Wie genau macht er das?
das kann ich dir noch nicht sagen, da ich diesen Fall noch nicht hatte, und das eigentlich nicht möglich sein sollte....

D.h. wenn ich das selber per VBA lösen will (Datengrundlage sind Daten in einer Exceltabelle) mit -1 entspricht Auswahl A
usw.
Was muß ich denn da ins Datum ablegen?
Datum? sorry, das verstehe ich jetzt nicht

Grüße aus Rostock
Wolfgang
(Netwolf)
Member: Nebellicht
Nebellicht Jun 28, 2012 updated at 12:23:14 (UTC)
Goto Top
Hallo Wolfgang,
Danke für deine Antwort. Ich bin dem Problem nun anders begegnet. Ich habe einen anderen Lösungsweg eingeschlagen.

Ein Datum, ist ein Teil eines Datensatzes. Sogesehen ein Zellenwert in der Tabellendenke von Excel. Es Heißt Datum, das habe ich mir so sagen lassen. Die ganze Zeile sogesehen in der Denke von Excel ist dann der Datensatz.

obwohl: Datum = Wort ; jetzt mal an den Satzbau gedacht. Naja.!

Schade, dass hier keiner die Lösung weiß oder ich mich evtl. zu unverständlich von Anfang an ausgedrückt habe.
Denn ich weiß die Antwort immer noch nicht! face-wink Wahrscheinlich irgendein Bit und Byte verpackter Wert, Datum.

o.k.
Viele Grüße nach Rostock aus Aachen in der EM2012 Zeit.
Maik
Member: Nebellicht
Solution Nebellicht Mar 05, 2020 at 11:25:58 (UTC)
Goto Top
Hier konnte ich mit folgendem VBA Code (Ideenansatz: Auslagern von mehreren Anlagen/Dokumenten) weiter kommen:


Set tabAnlage = rst1.Fields("Anlagen").Value

While Not tabAnlage.EOF
tabAnlage.Fields("FileData").SaveToFile "C:\temp3\"
tabAnlage.MoveNext
Wend