Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Record aus tabelle in einem Feld ausgeben

Begonnen von Optiplex, Dezember 30, 2011, 12:08:38

⏪ vorheriges - nächstes ⏩

Optiplex

Hallo zusammen,
ich habe folgendes Problem, wobei ich nicht weis ob es in Access überhaupt möglich ist, dies umzusetzen.

Ich möchte einen Turnierplan in einem ungebunden Formular darstellen, da ich weis wieviele Mitspieler es gibt ist die Anzahl der Felder bekannt. Das Layout sollte auch kein Problem darstellen. Nur wie bekomme ich die daten in die jeweilige Felder. Ist es möglich in einem Feld die Datenherkunft in folgender Form irgendwie auszugeben?

Feldinhalt = Turniertabelle ~ Recordnummer ~ Spaltenwert

Ich hoffe ich habe mich verständlich ausgedrückt.

Gruß Dieter


DF6GL

Hallo,

klar ist das möglich.



1) empfohlen:  per VBA Recordset auf die Tabelle öffnen und die einzelnen Feldwerte den Steuerelementen zuweisen.

2) nicht empfohlen:  Im Steuerelementinhalt die Dlookup-Funktion einbauen.

Optiplex

Hallo,
danke für die schnelle Antwort, leider hatte ich Gestern keine Zeit mehr. warum sperrst du dich so, bei dem Dlookup, wenn ich die Funktion richtig verstanden habe sollte es eigentlich funktionieren. Aber ich werde deinen Rat befolgen und es versuchen in VBA umzusetzen, das einzige Problem das ich sehe ist wie spreche ich die die Feldnamen in einer Schleife an um ihnen den Wert zuzuweisen,und wie aktuallisiere ich das ungebundene Formular. Standig einen Refresh Button zu drücken ist schließlich auch nicht das Wahre.

Danke und Gruß Dieter

database

Hallo,

Zitat....warum sperrst du dich so, bei dem Dlookup, wenn ich die Funktion richtig verstanden habe sollte es eigentlich funktionieren ...

Das stimmt, sie funktioniert ausgezeichnet, ist aber eine der bekanntesten Perfomance-Bremsen
und zudem ein wenig unbequem, wenn man die Syntax in 25 Felder eintragen muss.


Dim rst AS DAO.Recordset  '(bei Acc2007/2010  Dim rst as Recordset)

Set rst = CurrentDB.OpenRecordset("SELECT * FROM DeineTabelle WHERE DeineEinschränkung", dbOpenSnapshot)

   Me!Feld1 = rst!Fields(0)
   Me!Feld2 = rst!Fields(1)
  ...

Set rst = Nothing


Da das SELECT - Statement nur einen einzigen DS liefern sollte, braucht es keine Schleife zum Füllen der Formularfelder.

Optiplex

Hallo,
ganz so einfach ist es nun auch wieder nicht. Ich habe in der tabelle bei 32 spielern ungefähr 60 zeilen ( eine zeile pro Spiel) und dazu noch 5 oder 6 relevante Spalten ( Startnr., Vorname Nachname usw.). Also muss ich mir überlegen wie ich die Felder benenne und wie ich auf sie zugreife. Ich möchte das schon in einer Schleife lösen sonst tippe ich mich bei den größeren Turnieren 64 oder 128 ja tot. Wie ich auf die Tabelle zugreife hast du mir ja schon verraten. Entschuldige dass ich mich nicht immer gleich wieder melde wenn du mir eine Antwort gegeben hast, aber ich bin z.Z. geschäftlich sehr eingespannt und das Programm ist nun mal Hobby.

Tabelle Turnier1

Spalte id = spiel Nr = Feld SP1 bis SP60

Spalte Vormane1 = Spieler 1 Vorname = Feld SV?    Hier liegt mein Problem wie benenene ich die Felder und wie lese ich die Daten in diese ein
Spalte Vorname2 = Spieler 2 Vorname
Spalte Nachname1= Spieler 1 Nachname


Gruß und ein gutes neues Jahr

Dieter

MzKlMu

#5
Hallo,
ZitatSpalte id = spiel Nr = Feld SP1 bis SP60
Hier liegt bereits der eigentliche Fehler. Das ist der falsche Aufbau. Die Spielerkombinationen (?) sind in einer eigenen Tabelle zu erfassen, je Spielerkombination ein Datensatz und keine Aufzählungsfelder (...1, ...2, ...3, usw.) Aufzählungsfelder sind immer ein Hinweis auf ein falsches Datenmodell.
Ein Feldname sollte in einem korrekten Datenmodell für die Daten keine Rolle spielen.

Bitte erkläre mal genauer, was in welchen Tabellen erfasst wird und welche Beziehungen es gibt.
Gruß Klaus

Optiplex

Hallo MzKlMu,
Es handelt sich genau um diese Spielerkombinations-Tabelle diese möchte ich zur besseren Darstellung in einem Formular als Spielplan ausgeben. Diese Tabelle füllt sich während des Turniers immer weiter und das TurnierplanFormular wird bei jedem aktuallisieren (Ergebniseintrag) im einem Entlosformular( das gibt es schon und einwandfrei funktioniert ) neu ausgegeben (so habe ich mir das vorgestellt). Ich bin es leid immer wieder Fragen zu beantworten (wo bin ich, wo stehe ich, welchen Platz habe ich dann ) nur weil die Leute nicht mit der Entlosformularansicht zurechtkommen. In der Turnierplanansicht sollen auch keine Eingaben erfolgen. Es ist im Prizip ein Einzelformular nur mit allen Datensätzen einer Tabelle

Gruß Dieter