Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: noob3k am April 06, 2011, 14:39:54

Titel: Dynamisches Datenblatt
Beitrag von: noob3k am April 06, 2011, 14:39:54
Hallo ihr Kenner und Könner :) 

ich brauch leider mal wieder einen guten Rat.

Ich habe nun eine umfangreiche Suche gebastelt und habe aber noch ein kleines Problem. Die Ergebnisse der Suche werden in einem Unterformular in der Datenblattansicht dargestellt. Nun hätte ich aber gern, dass nur die Felder angezeigt werden, für die ich Suchkriterien eingegeben habe.
Wie kann man es bewerkstelligen, dass in der Datenblattansicht nur die Felder angezeigt werden die ich benötige???
Muss ich wirklich im Entwurf mehrere Textfelder anlegen und diese auf sichtbar/unsichtbar stellen per VBA oder gibt es eine bessere Möglichkeit?

vielen Dank im Voraus
Titel: Re: Dynamisches Datenblatt
Beitrag von: DF6GL am April 06, 2011, 16:29:19
Hallo,


alternativ zum Formular, bei dem nur das Ein-/Ausblenden geht, könntest Du dem UFO-Steuerelement als Herkunftsobjekt jeweils eine entsprechend (z. B. dynamisch per VBA) zusammengestellte Abfrage zuweisen, die nur die gewünschten Tabellenfelder in deren Select-Liste enthält.


Welcher Sinn aber darin besteht, nur diejenigen  Textfelder anzuzeigen, in denen auch gesucht wird, würde mich schon interessieren.
Titel: Re: Dynamisches Datenblatt
Beitrag von: noob3k am April 06, 2011, 16:45:18
Hi,

der Sinn dahinter ist, dass ich die Datenblattansicht als Vorschau für einen Excel-Export haben will. Und wenn jmd nur nach einem Namen und einer Telnr sucht, dann sollen nicht noch 40 andere Felder/Spalten angezeigt werden. Der SQL-String für die Abfrage wird entsprechend der gewählten Kriterien zusammengebaut.

"alternativ zum Formular, bei dem nur das Ein-/Ausblenden geht, könntest Du dem UFO-Steuerelement als Herkunftsobjekt jeweils eine entsprechend (z. B. dynamisch per VBA) zusammengestellte Abfrage zuweisen, die nur die gewünschten Tabellenfelder in deren Select-Liste enthält."

Wie würde das aussehen?  Steh etwas auf dem Schlauch  :o
Titel: Re: Dynamisches Datenblatt
Beitrag von: DF6GL am April 06, 2011, 16:50:28
Hallo,

genau so wie:

"Der SQL-String für die Abfrage wird entsprechend der gewählten Kriterien zusammengebaut"

nur halt zusätzlich zu den Kriterien (Where-Condition) auch die Tabellenfelder  entspr. den verwendeten Suchfeldern in der Select-Liste zusammenstellen.
Titel: Re: Dynamisches Datenblatt
Beitrag von: noob3k am April 06, 2011, 16:54:45
Ja dessen war ich mir schon bewusst.
Ich meine wie ich die Abfrage dem UFo als Herkunft angebe. Wenn ich als Datensatzquelle die Abfrage angebe steht im Datenblatt nichts. Also sind halt keine Felder zu sehen, weil die Formularansicht ist ja auch leer?!?
Titel: Re: Dynamisches Datenblatt
Beitrag von: DF6GL am April 06, 2011, 17:50:33
Hallo,

von DATENHERKUNFT des FORMULARES hab ich nicht gesprochen...

Der Name der Abfrage muß der Eigenschaft "Herkunftsobjekt" des UFO-Steuerelementes zugewiesen werden.
Titel: Re: Dynamisches Datenblatt
Beitrag von: noob3k am April 06, 2011, 22:19:36
Hallo nochmal,

also prinzipiell funktioniert das jetzt. Habe das Herkunftsobjekt geändert. Die Abfrage wird korrekt neu erstellt und dort wird auch nur das ausgegeben was ich gern hätte. Aber leider lädt er die Datenblattansicht nicht neu.

Weder Forms!HF!UFo.Form.Requery  noch Me!UFo.Requery funktioniert

Wo liegt der Fehler?? 

Vielen vielen Dank
Titel: Re: Dynamisches Datenblatt
Beitrag von: noob3k am April 13, 2011, 17:07:52
Aloha,

so wie ich es ursprünglich wollte hat das nicht funktioniert. Aber ich öffne jetzt einfach ein neues Formular auf Grundlage meiner dynamischen Abfrage. Das funzt bisher super.

Ich hab aber noch ein paar andere Fragen die ich mal hier anhängen würde um nicht einen neuen Thread öffnen zu müssen. (Oder sollte ich lieber einen auf machen) ?

1. Mein Suchformular hat ca 80 Suchfelder und dementsprechend im Code 80 Filter auf der Basis If Not IsNull Then... Mein SQL-String ist in einer Variable gespeichert, die immer erweitert wird falls neue Kriterien ausgewählt werden(kann also sehr lang werden).  Bisher funktioniert es super. Wollte nur von euch Profis mal wissen ob das halbwegs performant ist oder die denkbar schlechteste Lsg. ???

2. Gibt es eine Möglichkeit die Feld-/Spaltenbeschriftung nach Excel zu exportieren? Also statt meiner Feldnamen die Beschriftungen die man angeben kann. Hatte bisher nur die Variante gefunden mit SELECT  pers_name AS Vorname.... das funktioniert zwar aber hatte gehofft es gibt etwas weniger aufwendiges.


3. Wie kann ich erreichen, dass bei ja/nein-Feldern nach dem Export in Excel "ja" und "nein" statt "wahr" und "falsch" ausgegeben wird??


Daaanke
Titel: Re: Dynamisches Datenblatt
Beitrag von: database am April 13, 2011, 19:28:27
Hallo,

zu 1.)   Nachdem du SQL verwendest dun das DIE Abfragesprache ist, sehe ich persönlich da kein Problem.

zu 2.)   Ich fürchte du wirst das auf die aufwändige Art machen müssen.

zu 3.)   Indem du 'ja' oder 'nein' übergibst statt 'wahr' und 'falsch'
            In dein Recordset baust du dazu ein:

            IIf([DeinJaNeinFeld]=True), "Ja","Nein") AS Feldname
Titel: Re: Dynamisches Datenblatt
Beitrag von: noob3k am April 13, 2011, 20:38:13
Hallo,

das habe ich irgendwie befürchtet. Hatte gehofft, dass man für 2. & 3. irgendwas bei der Formatierung der Excel-Datei angeben kann oder so :(  Gibts da nicht irgendnen Kniff?

Nunja dann eben der lange Weg.

Besten Dank
Titel: Re: Dynamisches Datenblatt
Beitrag von: database am April 13, 2011, 22:15:46
Hallo,

ich fürchte, dass da die Kniffe ausgegangen sind. :-\

Für den Export in eine Excel-Tabelle kann keine Spezifikation gespeichert werden (so wie beim Export in eine CSV-Datei)
und somit ist es acuh nicht möglich z.B. Spaltennamen, die von den Quelldaten abweichen zu verwenden.