Hallo!
In einem Formular ist eine Ja/Nein Spalte. Ich will Bericht ausdrucken, der die Datensätze beinhaltet, die nur "Ja" oder nur "Nein" oder "Ja" und "Nein" haben. Ich habe mir gedacht ein Optionsfeld zu erstellen, wo man die für den gewünschten Bericht Option wählen kann. Kann man das mit einer Abfrage und einem Bericht irgenwie realisieren oder muss man doch 3 Abfragen und 3 Berichte erstellen.
Danke im Voraus!
Hallo,
erstell zunächst mal einen Bericht (Bericht1) , der als Datenherkunft die Tabelle erhält.
Im Formular machst Du erst eine Optionsgruppe (OptGruppe), auf die Du 3 Optionsfelder ziehst:
"Ja", "Nein","Alle" wobei die Optionsgruppe den Standardwert 3 erhält (für "Alle")
Weiterhin einen Button (Drucken) und dessen Ereignisprozedur "Beim Klicken":
Sub Drucken_Click()
Dim strFilter as String
Select Case Me!OptGruppe
Case 1
strFilter="Ja_Nein_Feld=-1"
Case 2
strFilter="Ja_Nein_Feld=0"
Case 3
strFilter=""
Case else
strFilter=""
End Select
Docmd.Openreport "Bericht1",,,strFilter
End Sub
Hallo!
Es hat geklappt. Prima! Ich würde das noch mit einer zusätlichen Ausgabemöglichkeit erwitern . Und zwar ich will meine Datensätze in einer Datei speichern. Das kann man mit DoCmd.OutputTo acReport, stDocName machen, dann wird aber alle Datensätze abgespeichert und ich will zuerst ausfiltern. Wie gets es dann?
Hallo,
indem Du das Ganze mit Transfertext machst und dabei eine entspr. gestaltete Abfrage benutzt
Hallo,
zur Erklärung gibt es die VBA-Hilfe. Dort steht alles Nötige dazu und Beispiele... ;)
Hallo,
Wenn ich für Dich einen Programmschnippsel schreiben soll, mußt Du mit viel mehr Einzelheiten herausrücken, z. B. Tabellename, Feldnamen, Feldtypen, wo die ID-Werte für die DS zu finden sind, bzw. wie die heißen usw. usw. :)
nix AusgabeIn und OutputTo! :o
VBA-Hilfe zu TransferText sollst Du anschauen. Und da steht folgendes:
ZitatTransferText-Methode
Siehe auch Betrifft Beispiele Besonderheiten
Die TransferText-Methode führt die TransferText-Aktion in Visual Basic aus.
Ausdruck.TransferText(Transfertyp, Spezifikationsname, Tabellenname, Dateiname, BesitztFeldnamen, HTML-Tabellenname, Codepage)
Ausdruck Erforderlich. Ein Ausdruck, der eines der Objekte in der Liste Betrifft zurückgibt.
Transfertyp Optionaler AcTextTransferType-Wert.
AcTextTransferType kann einer der folgenden AcTextTransferType-Konstanten entsprechen.
acExportDelim
acExportFixed
acExportHTML
acExportMerge
acImportDelim Standard
acImportFixed
acImportHTML
acLinkDelim
acLinkFixed
acLinkHTML
Wenn Sie dieses Argument nicht angeben, wird die Standardkonstante (acImportDelim) verwendet.
Anmerkungen Sie können Verknüpfungen zu Daten in einer Textdatei oder HTML-Datei herstellen, jedoch sind diese Daten in Microsoft Access schreibgeschützt.
In einem Microsoft Access-Projekt (ADP) werden nur die Transfertypen acImportDelim, acImportFixed, acExportDelim, acExportFixed oder acExportMerge unterstützt
Spezifikationsname Optionaler Variant-Wert. Ein Zeichenfolgenausdruck, der den Namen einer Import- oder Exportspezifikation angibt, die Sie in der aktuellen Datenbank erstellt und gespeichert haben. Bei einer Textdatei mit fester Zeilenlänge müssen Sie entweder ein Argument angeben oder eine Schemadatei (Schema.ini) verwenden, die in demselben Ordner wie die importierte, verknüpfte oder exportierte Textdatei gespeichert sein muss. Zur Erstellung einer Schemadatei können Sie den Import/Export-Assistenten für Text verwenden. Bei Textdateien mit Trennzeichen und Microsoft Word-Seriendruck-Datendateien können Sie dieses Argument auslassen, um so die Standardimport- und Exportspezifikation auszuwählen.
Tabellenname Optionaler Variant-Wert. Ein Zeichenfolgenausdruck, der den Namen einer Microsoft Access-Tabelle zum Importieren, Exportieren oder Verknüpfen von Textdaten angibt, oder die Microsoft Access-Abfrage, deren Ergebnisse in eine Textdatei exportiert werden sollen.
Dateiname Optionaler Variant-Wert. Ein Zeichenfolgenausdruck, der den vollständigen Namen und den Pfad der Textdatei angibt, die zum Importieren, Exportieren oder Verknüpfen von Daten verwendet werden soll.
BesitztFeldnamen Optionaler Variant-Wert. Verwenden Sie True (–1), um die erste Zeile der Textdatei beim Importieren, Exportieren oder Verknüpfen zur Angabe der Feldnamen zu verwenden. Verwenden Sie False (0), wenn die erste Zeile als normale Datenzeile gelten soll. Wenn Sie dieses Argument nicht angeben, wird der Standardwert (False) verwendet. Dieses Argument wird bei Word für Windows-Seriendruck-Datendateien ignoriert, da diese in der ersten Zeile immer Feldnamen enthalten müssen.
HTML-Tabellenname Optionaler Variant-Wert. Ein Zeichenfolgenausdruck, der den Namen der Tabelle oder Liste in der HTML-Datei angibt, die Sie importieren oder verknüpfen möchten. Dieses Argument wird nur dann beachtet, wenn das Argument Transfertyp auf acImportHTML oder acLinkHTML festgelegt ist. Wenn Sie dieses Argument nicht angeben, wird die erste Tabelle oder Liste in der HTML-Datei importiert oder verknüpft. Der Tabellen- oder Listenname in der HTML-Datei wird durch den im <CAPTION>-Tag angegebenen Text bestimmt, falls ein solches Tag vorhanden ist. Andernfalls wird der Name durch den Text bestimmt, der im <TITLE>-Tag angegeben ist. Wenn mehrere Tabellen oder Listen denselben Namen aufweisen, werden sie von Microsoft Access durch Hinzufügen einer Zahl zum Tabellen- oder Listennamen unterschieden, wie z. B. Personal1 und Personal2.
Codepage Optionaler Variant-Wert. Ein Wert des Typs Long, der den Zeichensatz der Codepage angibt.
Hinweise
Weitere Informationen zur Funktionsweise dieser Aktion und ihrer Argumente finden Sie unter dem Thema zur jeweiligen Aktion.
Sie können optionale Argumente in der Syntax weglassen, müssen jedoch in jedem Fall das zum Argument gehörende Komma angeben. Wenn Sie Argumente am Anweisungsende weglassen, entfällt auch das Komma nach dem letzten angegebenen Argument.
Anmerkung Sie können auch ActiveX-Datenobjekte (ADO-Objekte) verwenden, um eine Verknüpfung zu erstellen. Dies lässt sich mit Hilfe der ActiveConnection-Eigenschaft des Recordset-Objekts durchführen.
Beispiel
Dieses Beispiel exportiert die Daten aus der Microsoft Access-Tabelle Externer Bericht in die Textdatei mit Trennzeichen APRIL.DOC unter Verwendung der Spezifikation Standardausgabe.
DoCmd.TransferText acExportDelim, "Standard Output", _
"External Report", "C:\Txtfiles\April.doc"
Hallo!
Danke für die Hilfe! Ich habe verbaute_Teile_Hauptformular und verbaute_Teile_Unterformular duch ID_Engang verbunden. Im Unterformular sind die Datensätze die ich in eine TXT-Datei ausgeben will, natürlich gefilgtert. Für den Bericht wurde eine Abfrage erstellt Abfrage_verbaute _Teile mit dem ID_Eingang im Hauptformular als Kriterium. Diese Abfrage wollte ich für Dateierstellung verwendet.
Ich habe versucht für Anfang an irgendwas in dei Datei ausgeben (erstellen). Diese Aktion sollte durch folgende Code in Gang gesetzt:
Private Sub Befehl38_Click()
On Error GoTo Err_Befehl38_Click
Dim stDocName As String
stDocName = "C:\Bericht_verbaute_Teile"
DoCmd.TransferText acExportDelim, , "Abfrage_verbaute_Teile", stDocName
Exit_Befehl38_Click:
Exit Sub
Err_Befehl38_Click:
MsgBox Err.Description
Resume Exit_Befehl38_Click
End Sub
Kommt aber Felermeldung: "Aktualisierung nicht möglich; Datenbank oder Objekt ist schreibgeschützt"
Hallo,
hast Du die Text-Datei irgendwie noch z. B. durch Notepad geöffnet? Stimmt der Dateiname überhaupt (es fehlt die Dateierweiterung)?
Hallo!
H-mmm, heute klappt es, warum auch immer... Es lag an der Erweiterung... Ich kann jetzt aber alle Datensätze in eine Datei ausgeben. Hura!
Im nächsten Schritt sollen nur die Datensätze gespeichert werden, die in einem Feld nur "JA", "NEIN" oder "JA" und "NEIN" haben. Jetzt weiss ich nicht, wie man es erledigen soll. Bitte um Hilfe . :)
Hallo,
indem Du in der Abfrage für das Feld ein entspr. Kriterium benutzt.
Hallo,
ich hasse solche Wenn-Konstruktionen und auch die Verweise auf Formularfelder wie die Pest.... :o
aber..vielleicht so:
Wenn([Formulare]![verbaute_Teile_Hauptformular]![Druckoptionen]=2;-1;"")
Hallo!
Vielen DANK!!!!! ;D . Es macht so,wie ich will.
Gibt es rafinierte Varianten, schreib rein, weil für mich gab es nur eine Variante mit WENN.
Weisst Du vielleicht wie man Vorlagedatei (ini) erstellt oder wo das nachzulesen ist. Weil es werden einige Felder aus gegeben, die immer gleichen Inhalt haben. Die sollen aber nur einmal vorkommen.
z.B
ist
Auto; grün; r45;vorder;12345
Auto; grün; r45;hinten;23166
soll
Auto; grün;r45
vorder;12345
hinten;23166
Das wäre viel übesichtiger.
Nachtrag:
Wenn ich zwei Kriterien nehme für JA und NEIN, dann mekert Access. Wenn ich einzeln nehme dann ist alles OK! Zuviel WENN oder was?
Wenn([Formulare]![verbaute_Teile_Hauptformular]![Druckoptionen]=2;-1;"") und [Formulare]![verbaute_Teile_Hauptformular]![ID_Eingang]
oder
Wenn([Formulare]![verbaute_Teile_Hauptformular]![Druckoptionen]=3;0;"") und [Formulare]![verbaute_Teile_Hauptformular]![ID_Eingang]
Hallo,
Was meinst Du mit Vorlagen- oder INI-Datei?
Erstell für das Beispiel einen Bericht, in dem Du gruppierst , oder Duplikate ausblendest.
Was ist denn ID_Eingang?
Hat das was mit diesem JA/Nein-Feld zu tun?
Hallo,
es gibt zwar eine INI-Datei für Access, aber die wird m. W. nur noch zur Kompatibilität mitgeschleift.
Und
Zitatman kann die daten formatiert aufhand einer Vorlage Speichern
kenne ich nicht.
Wenn ID_Eingang nicht mit dem JA/Nein-Feld zu tun hat, kannst Du es doch auch nicht als Kriterium für dieses Feld verwenden.... Dann muß der Formular-Verweis in die Spalte, die zum Feld ID_Eingang gehört.
Hallo,
also, ich verstehe Deine Beschreibung nicht.
Für ID_Eingang scheint es zu gehen. OK.
Wie heißt jetzt das Kriterium, das Du für das Ja/Nein-Feld eingesetzt hast?
Wie heißt das Ja/Nein-Feld denn nun??
Poste mal den SQL-String
Hallo!
Ja/Nein ist Feld Speed
In der Abfrage in der Spalte Speed von Tabelle [verbaute_Teile] steht Kriterium Wenn([Formulare]![verbaute_Teile_Hauptformular]![Druckoptionen]=2;-1;"")
in gleicher Zeile der Abfrage in der Spalte ID_Eingang von Tabelle [Eingang] steht Kriterium [Formulare]![verbaute_Teile_Hauptformular]![ID_Eingang].
So! Jetzt funktioniert es, aber nur für Druckoptionen=2 (JA). Jetzt will, dass es funktioniert für Druckoptionen=3 (NEIN).
In nächster Zeile stehen in der Spalte Speed von Tabelle [verbaute_Teile] Kriterium Wenn([Formulare]![verbaute_Teile_Hauptformular]![Druckoptionen]=3;0;"") und [Formulare]![verbaute_Teile_Hauptformular]![ID_Eingang] für ID_Eingang. Jetzt funkzt es nicht Mehr!
SELECT FZG.V_Nummer, FZG.BT_Nummer, FZG.YZ_Nummer, FZG.Typ, FZG.FRG_Nummer, Eingang.Auftragsnummer, Eingang.Eingang_Datum, Bearbeiter.Name, Eingang.Neue_I_Stufe, verbaute_Teile.Sachnummer, verbaute_Teile.HW_Index, verbaute_Teile.Bezeichnung, verbaute_Teile.Menge, verbaute_Teile.Speed, verbaute_Teile.Anmerkung, Eingang.ID_Eingang, verbaute_Teile.ID_Teile
FROM FZG INNER JOIN ((Bearbeiter RIGHT JOIN Eingang ON Bearbeiter.ID_Bearbeiter = Eingang.ID_Bearbeiter) INNER JOIN verbaute_Teile ON Eingang.ID_Eingang = verbaute_Teile.ID_Eingang) ON FZG.V_Nummer = Eingang.V_Nummer
WHERE (((verbaute_Teile.Speed)=IIf([Formulare]![verbaute_Teile_Hauptformular]![Druckoptionen]=2,-1,"")) AND ((Eingang.ID_Eingang)=[Formulare]![verbaute_Teile_Hauptformular]![ID_Eingang])) OR (((verbaute_Teile.Speed)=IIf([Formulare]![verbaute_Teile_Hauptformular]![Druckoptionen]=3,0,"")) AND ((Eingang.ID_Eingang)=[Formulare]![verbaute_Teile_Hauptformular]![ID_Eingang]));
Hmm
Jetzt habe ich kein Ja/Nein-Feld sondern ein Feld mit entweder A oder B...
Wie sieht dann der code aus. Es kommt bei mir die Fehlermeldung, dass
die Datentypen im Kriterienausdruck unverträglich sind
Gruss
Hallo,
irre ich mich, oder haben wir gerade Jahr 2012 begonnen?? :o
Ohhh tschuldigung. Guets Neus natürlich noch und hoffen wir, dass die Welt nicht untergeht. LG
Hallo,
na, die Welt geht nicht unter, eher die anfängliche Frage, bzw. das Problem.
Besser wäre, Du erstellst einen neuen Thread mit Deinem aktuellen Problem (und -beschreibung)
hallo
habe einen neuen thread geöffnet und der wurde auch bereits abgeschlossen. coole sache hier. sehr hilfsbereite nette leute