mit Schalter ein Feld für Abfrage nach Namen erzeugen
Moderator: Moderatoren
mit Schalter ein Feld für Abfrage nach Namen erzeugen
Hallo Leute !
Ich möchte in einer Datenbank einen Schalter einbauen, der, wenn dieser angeklickt wird, ein Feld darstellt, wo ich einen Namen eintrage und danach oder gleichzeitig ein Geburtsdatum eintrage, wonach dann der Datensatz desjenigen dargestellt wird.
Geht das und wie?
Gruß Andreas
Ich möchte in einer Datenbank einen Schalter einbauen, der, wenn dieser angeklickt wird, ein Feld darstellt, wo ich einen Namen eintrage und danach oder gleichzeitig ein Geburtsdatum eintrage, wonach dann der Datensatz desjenigen dargestellt wird.
Geht das und wie?
Gruß Andreas
Re: mit Schalter ein Feld für Abfrage nach Namen erzeugen
Zusatz:
Es gibt bei Access so eine Abfrage, bei der ich dann in einem Feld den Namen und dann das Geburtsdatum eintragen muss, um dann den Datensatz angezeigt zu bekommen. Ob das hier auch möglich ist, weiß ich nicht.
Wäre toll, wenn es geht.
Danke
Andreas
Es gibt bei Access so eine Abfrage, bei der ich dann in einem Feld den Namen und dann das Geburtsdatum eintragen muss, um dann den Datensatz angezeigt zu bekommen. Ob das hier auch möglich ist, weiß ich nicht.
Wäre toll, wenn es geht.
Danke
Andreas
Re: mit Schalter ein Feld für Abfrage nach Namen erzeugen
Huch,
eins habe ich noch vergessen. Ich möchte ein Grundformular erstellen, bei dem ich per Schalter andere Formulare öffne. Da soll dann auch der Schalter drin sein, mit dem ich die Abfrage öffnen kann. Üps, die Probleme werden größer, sorry.
Gruß Andreas
eins habe ich noch vergessen. Ich möchte ein Grundformular erstellen, bei dem ich per Schalter andere Formulare öffne. Da soll dann auch der Schalter drin sein, mit dem ich die Abfrage öffnen kann. Üps, die Probleme werden größer, sorry.
Gruß Andreas
Re: mit Schalter ein Feld für Abfrage nach Namen erzeugen
Hallo !
Ein Formular öffnen über ein Hauptformular habe ich hinbekommen, alles andere noch nicht. Letztendlich möchte ich ein Formular im Netzwerk (Samba Windows/Linux) habe, wobei der Anwender nur dieses Hauptformular auswählt und dann Daten einsieht bzw. eingibt. Dabei stoße ich immer nur auf Schwierigkeiten, auch bei der Erstellung einer Kopie des Formulares mittes eines Writer- Dokumentes.
Bitte um Hilfe, menno
Gruß Andreas
Ein Formular öffnen über ein Hauptformular habe ich hinbekommen, alles andere noch nicht. Letztendlich möchte ich ein Formular im Netzwerk (Samba Windows/Linux) habe, wobei der Anwender nur dieses Hauptformular auswählt und dann Daten einsieht bzw. eingibt. Dabei stoße ich immer nur auf Schwierigkeiten, auch bei der Erstellung einer Kopie des Formulares mittes eines Writer- Dokumentes.
Bitte um Hilfe, menno
Gruß Andreas
Re: mit Schalter ein Feld für Abfrage nach Namen erzeugen
Hi,
wenn ich nun ein Writer Dokument vom Hauptformular speichere und dann den Schalter mit folgendem Makro füttere:
SUB Adressen_oeffnen
ThisDatabaseDocument.FormDocuments.getByName( "Adressen" ).open
END SUB
bkomme ich eine Fehlermeldung: Basic Laufzeitfehler Objektvariabele nicht belegt. Menno, was nun...?
Gruß Andreas
wenn ich nun ein Writer Dokument vom Hauptformular speichere und dann den Schalter mit folgendem Makro füttere:
SUB Adressen_oeffnen
ThisDatabaseDocument.FormDocuments.getByName( "Adressen" ).open
END SUB
bkomme ich eine Fehlermeldung: Basic Laufzeitfehler Objektvariabele nicht belegt. Menno, was nun...?
Gruß Andreas
Re: mit Schalter ein Feld für Abfrage nach Namen erzeugen
Hallo Andreas,
vielleicht solltest Du Dir angewöhnen, für jedes zusätzliche Problem einen neuen Thread auf zu machen.
Ich greife hier einmal den letzten Beitrag von Dir auf:
SUB Adressen_oeffnen
ThisDatabaseDocument.FormDocuments.getByName( "Adressen" ).open
END SUB
Dieses Makro geht davon aus, dass es aus einem *.odb-Datenbankdokument heraus gestartet wird. Es gilt also beispielsweise für einen Button in einem Formular innerhalb der Datenbankdatei, mit dem Du das Formular "Adressen", ebenfalls innerhalb der Datenbankdatei liegend, öffnen willst. Das sagt der Ausdruck "ThisDatabaseDocument".
Wenn Du das Formular extern hast musst Du die entsprechende Writer-Datei starten. Das habe ich noch nicht versucht, muss aber über loadComponentFromURL gehen.
Ist das Dein Ziel?
Gruß
Robert
vielleicht solltest Du Dir angewöhnen, für jedes zusätzliche Problem einen neuen Thread auf zu machen.
Ich greife hier einmal den letzten Beitrag von Dir auf:
SUB Adressen_oeffnen
ThisDatabaseDocument.FormDocuments.getByName( "Adressen" ).open
END SUB
Dieses Makro geht davon aus, dass es aus einem *.odb-Datenbankdokument heraus gestartet wird. Es gilt also beispielsweise für einen Button in einem Formular innerhalb der Datenbankdatei, mit dem Du das Formular "Adressen", ebenfalls innerhalb der Datenbankdatei liegend, öffnen willst. Das sagt der Ausdruck "ThisDatabaseDocument".
Wenn Du das Formular extern hast musst Du die entsprechende Writer-Datei starten. Das habe ich noch nicht versucht, muss aber über loadComponentFromURL gehen.
Ist das Dein Ziel?
Gruß
Robert
Re: mit Schalter ein Feld für Abfrage nach Namen erzeugen
Hallo Robert !
Tut mir leid, wenn ich manchmal nicht Anforderungen dieses Forums entspreche. Aber nun zu meinem Problem:
Du kennst ja die Datenbank "Adressen", bei der du mir wirklich toll geholfen hast. Mein "Herr und Meister" verlangt bzw. möchte von mir eine ähnliche Datenbank haben, wie wir sie z.Zt. noch mit Access verwenden. Nur wird es die demnächst nicht mehr geben. Damit aber Adressen verwaltet werden können, ist die Adressdatenbank die Lösung.Jetzt möchte ich aber erreichen, dass die User nicht die Datenbank aufmachen, damit dort nicht versehentlich Sachen verändert werden (z.b. Tabellen löschen, verändern, pp.).
Wir benutzen sowohl Windows als auch Linux. Die Datenbank selbst soll bzw. wird auf einen Linux-Server liegen. Jetzt möchte ich ein Formular erstellen, dass jeder als Verknüpfung oder Freigabe aufrufen kann, bei der z.b. der Schalter enthalten ist, um das Formular Adressen zu öffen. Weiterhin möchte ich Schalter einbauen, mit denen man verschiedene Abfragen aufrufen kann.
Ich habe das diese Tage mal mit einem Writer-Formular versucht und bin kläglich gescheitert.
Ich weiß im Moment auch gar nicht, wie ich das Problem lösen soll.
Hast du eine Idee?
Gruß Andreas
Tut mir leid, wenn ich manchmal nicht Anforderungen dieses Forums entspreche. Aber nun zu meinem Problem:
Du kennst ja die Datenbank "Adressen", bei der du mir wirklich toll geholfen hast. Mein "Herr und Meister" verlangt bzw. möchte von mir eine ähnliche Datenbank haben, wie wir sie z.Zt. noch mit Access verwenden. Nur wird es die demnächst nicht mehr geben. Damit aber Adressen verwaltet werden können, ist die Adressdatenbank die Lösung.Jetzt möchte ich aber erreichen, dass die User nicht die Datenbank aufmachen, damit dort nicht versehentlich Sachen verändert werden (z.b. Tabellen löschen, verändern, pp.).
Wir benutzen sowohl Windows als auch Linux. Die Datenbank selbst soll bzw. wird auf einen Linux-Server liegen. Jetzt möchte ich ein Formular erstellen, dass jeder als Verknüpfung oder Freigabe aufrufen kann, bei der z.b. der Schalter enthalten ist, um das Formular Adressen zu öffen. Weiterhin möchte ich Schalter einbauen, mit denen man verschiedene Abfragen aufrufen kann.
Ich habe das diese Tage mal mit einem Writer-Formular versucht und bin kläglich gescheitert.
Ich weiß im Moment auch gar nicht, wie ich das Problem lösen soll.
Hast du eine Idee?
Gruß Andreas
Re: mit Schalter ein Feld für Abfrage nach Namen erzeugen
Hallo Andreas,
Variante 1: Du arbeitest mit externen Formularen, hast aber die Datenbank in OpenOffice/LibreOffice angemeldet. Dann reicht ein Klick auf den Datenquellenbrowser und Tabellen und Abfragen sind verfügbar. Tabellen sind auch erstellbar ...
Variante 2: Du arbeitest mit externen Formularen, meldest die Datenbank aber nicht an, sondern machst den Kontakt über die URL. Vorläufig fein raus. Hat der Nutzer aber den Pfad aus den Formulareinstellungen heraus gelesen, so kann er nachträglich die Datenbank anmelden und - siehe oben. Das Ganze geschieht dann natürlich nicht "versehentlich".
Variante 3: Du arbeitest mit einer Server-Datenbank und beschneidest auf dem Server rigoros die Benutzerrechte, so dass Tabellen eben nicht gelöscht oder in der Struktur verändert werden können. Das geht dann natürlich nicht mehr mit dem einfachen *.odb-Päckchen. Dann geht es an MySQL, PostgreSQL oder auch die externe HSQLDB. Unter Linux ist die Auswahl da recht groß.
Für ein Unternehmen würde ich Variante 3 wählen. Die Zugriffe von der *.odb-Datei sind für Makros usw. gleich. Je nach Datenbank ist eventuell neben den Tabellennamen auch noch der Datenbankname in den Abfragen wichtig.
Sichtbarer Unterschied von Variante 1/2 zu Variante 3: Es wird nach einem Nutzernamen und einem Passwort gefragt. Abhängig vom Nutzer werden dann entsprechende Rechte gewährt.
Immer noch möglich ist dann natürlich, dass sich ein Nutzer, der Zugriff auf die Tabellen hat, diese Daten in eine eigene Datenbank kopiert.
Bei Variante 2, die Du vermutlich probierst, verstehe ich jetzt nicht, warum Du erst einen Button brauchst, um das Formular zu öffnen. Du öffnest doch eine separate Datei, nicht das Formular in dem *.odb-Container.
Gruß
Robert
Bereits hier ergibt sich das erste Problem. Du kannst natürlich auf verschiedene Arten versuchen, Deine Datenbank vor den Nutzern zu verstecken. Aber es ist nur eine Frage der zeit, bis zu der sie vermutlich doch an die Tabellensicht kommen.schane65 hat geschrieben: Jetzt möchte ich aber erreichen, dass die User nicht die Datenbank aufmachen, damit dort nicht versehentlich Sachen verändert werden (z.b. Tabellen löschen, verändern, pp.).
Variante 1: Du arbeitest mit externen Formularen, hast aber die Datenbank in OpenOffice/LibreOffice angemeldet. Dann reicht ein Klick auf den Datenquellenbrowser und Tabellen und Abfragen sind verfügbar. Tabellen sind auch erstellbar ...
Variante 2: Du arbeitest mit externen Formularen, meldest die Datenbank aber nicht an, sondern machst den Kontakt über die URL. Vorläufig fein raus. Hat der Nutzer aber den Pfad aus den Formulareinstellungen heraus gelesen, so kann er nachträglich die Datenbank anmelden und - siehe oben. Das Ganze geschieht dann natürlich nicht "versehentlich".
Variante 3: Du arbeitest mit einer Server-Datenbank und beschneidest auf dem Server rigoros die Benutzerrechte, so dass Tabellen eben nicht gelöscht oder in der Struktur verändert werden können. Das geht dann natürlich nicht mehr mit dem einfachen *.odb-Päckchen. Dann geht es an MySQL, PostgreSQL oder auch die externe HSQLDB. Unter Linux ist die Auswahl da recht groß.
Für ein Unternehmen würde ich Variante 3 wählen. Die Zugriffe von der *.odb-Datei sind für Makros usw. gleich. Je nach Datenbank ist eventuell neben den Tabellennamen auch noch der Datenbankname in den Abfragen wichtig.
Sichtbarer Unterschied von Variante 1/2 zu Variante 3: Es wird nach einem Nutzernamen und einem Passwort gefragt. Abhängig vom Nutzer werden dann entsprechende Rechte gewährt.
Immer noch möglich ist dann natürlich, dass sich ein Nutzer, der Zugriff auf die Tabellen hat, diese Daten in eine eigene Datenbank kopiert.
Bei Variante 2, die Du vermutlich probierst, verstehe ich jetzt nicht, warum Du erst einen Button brauchst, um das Formular zu öffnen. Du öffnest doch eine separate Datei, nicht das Formular in dem *.odb-Container.
Gruß
Robert
Re: mit Schalter ein Feld für Abfrage nach Namen erzeugen
Hallo Robert !
Ich denke, ich würde Variante 3 bevorzugen. Nur habe ich keine Ahnung, wie ich das bewerkstelligen soll. Desweiteren stellt sich die Frage, ob die Möglichkeit eines Mehrfachzugriffes besteht. Die Datenbank liegt auf einem Linuxserver, wobei ich der Zugriff von einem Windowsrechner erfolgt. Hintergrund, dass von Linuxrechnern nicht darauf zugegriffen werden kann, ist, dass man mir da vorschreibt, dass BASE nicht installiert ist.
Wie komme ich bei der Problematik weiter?
Gruß Andreas
Ich denke, ich würde Variante 3 bevorzugen. Nur habe ich keine Ahnung, wie ich das bewerkstelligen soll. Desweiteren stellt sich die Frage, ob die Möglichkeit eines Mehrfachzugriffes besteht. Die Datenbank liegt auf einem Linuxserver, wobei ich der Zugriff von einem Windowsrechner erfolgt. Hintergrund, dass von Linuxrechnern nicht darauf zugegriffen werden kann, ist, dass man mir da vorschreibt, dass BASE nicht installiert ist.
Wie komme ich bei der Problematik weiter?
Gruß Andreas
Re: mit Schalter ein Feld für Abfrage nach Namen erzeugen
Hallo Andreas,
Ich würde das bei einem Linuxserver aus meiner Erfahrung heraus mit MySQL machen. Einfach Päckchen installieren, vielleicht für den Handgebrauch auch die Administrationswerkzeuge für die grafische Benutzeroberfläche und dann eine Datenbank sowie die Tabellen erstellen (mit diesem Werkzeug; da ich mit Webserver arbeite läuft bei mir PHPMyAdmin; gibt aber auch Werkzeuge für den direkten Zugriff auf die Datenbank, so dass Deine Kenntnisse in der Datenbankadministration nicht ganz so hoch sein müssen.
Der Nutzer, der von einem Windows-Rechner darauf zugreift, muss bei seinem Base-File die IP-Adresse des Linux-Servers wissen; außerdem einen Nutzer und ein Passwort haben. Dieser Nutzer darf nur Schreibrechte für die Tabellen haben - keine Veränderungsrechte.
Natürlich kannst Du von Linuxrechnern auf die Datenbank zugreifen. Du musst das ja sogar als Administrator. Die Administration erfolgt nicht mit Base - dafür sind die anderen Werkzeuge notwendig. Also muss auf den Linuxrechnern auch gar kein Office-Programm installiert sein.
Suche Dir also eine Datenbank aus, zu der Du eine Dir ausreichend erscheinende Beschreibung findest. Zu MySQL gibt es bei Base später einen Treiber, der den schnellen Direktkontakt herstellt - deshalb hier zu empfehlen, solange der Treiber an jeweils die benutzte Version angepasst wurde.
Gruß
Robert
Jetzt einmal Stück für Stück: Sobald Du eine Serverdatenbank installierst gibt es natürlich die Möglichkeit eines Mehrfachzugriffs. Dafür gibt es schließlich Serverdatenbanken.schane65 hat geschrieben:Desweiteren stellt sich die Frage, ob die Möglichkeit eines Mehrfachzugriffes besteht. Die Datenbank liegt auf einem Linuxserver, wobei ich der Zugriff von einem Windowsrechner erfolgt. Hintergrund, dass von Linuxrechnern nicht darauf zugegriffen werden kann, ist, dass man mir da vorschreibt, dass BASE nicht installiert ist.
Ich würde das bei einem Linuxserver aus meiner Erfahrung heraus mit MySQL machen. Einfach Päckchen installieren, vielleicht für den Handgebrauch auch die Administrationswerkzeuge für die grafische Benutzeroberfläche und dann eine Datenbank sowie die Tabellen erstellen (mit diesem Werkzeug; da ich mit Webserver arbeite läuft bei mir PHPMyAdmin; gibt aber auch Werkzeuge für den direkten Zugriff auf die Datenbank, so dass Deine Kenntnisse in der Datenbankadministration nicht ganz so hoch sein müssen.
Der Nutzer, der von einem Windows-Rechner darauf zugreift, muss bei seinem Base-File die IP-Adresse des Linux-Servers wissen; außerdem einen Nutzer und ein Passwort haben. Dieser Nutzer darf nur Schreibrechte für die Tabellen haben - keine Veränderungsrechte.
Natürlich kannst Du von Linuxrechnern auf die Datenbank zugreifen. Du musst das ja sogar als Administrator. Die Administration erfolgt nicht mit Base - dafür sind die anderen Werkzeuge notwendig. Also muss auf den Linuxrechnern auch gar kein Office-Programm installiert sein.
Suche Dir also eine Datenbank aus, zu der Du eine Dir ausreichend erscheinende Beschreibung findest. Zu MySQL gibt es bei Base später einen Treiber, der den schnellen Direktkontakt herstellt - deshalb hier zu empfehlen, solange der Treiber an jeweils die benutzte Version angepasst wurde.
Gruß
Robert
Re: mit Schalter ein Feld für Abfrage nach Namen erzeugen
Hallo Robert !
Ich habe root-Rechte auf unserem Linux-Server, bin da aber nicht unbedingt Programmierer o.ä. Ich würde meine dir bekannte Datenbank "Adressen" dort ablegen. Wie gehe ich dann weiter vor?
Für mich ist das Neuland.
Vielleicht sollte ich den Namen dieser Anfrage auch ändern, da sie nicht mehr dem entspricht, was ich eigentlich wollte, oder?
Gruß Andreas
Ich habe root-Rechte auf unserem Linux-Server, bin da aber nicht unbedingt Programmierer o.ä. Ich würde meine dir bekannte Datenbank "Adressen" dort ablegen. Wie gehe ich dann weiter vor?
Für mich ist das Neuland.
Vielleicht sollte ich den Namen dieser Anfrage auch ändern, da sie nicht mehr dem entspricht, was ich eigentlich wollte, oder?
Gruß Andreas
Re: mit Schalter ein Feld für Abfrage nach Namen erzeugen
Hallo Andreas,
Ich gehe jetzt einmal davon aus, dass Du die Tabellen des *.odb-Files weiter nutzen willst. Dann geht das folgende Verfahren:
Auf dem Linux-Rechner die Pakete für den HSQLDB-Server einrichten. Je nach Linux-Version kann das natürlich unterschiedlich vonstatten gehen. Ich könnte das hier nur mit OpenSuSE nachvollziehen.
Wie eine interne Datenbank zu einer externen Datenbank umgewandelt werden kann steht in dem neuen Base-Handbuch (entweder http://de.libreoffice.org/hilfe-kontakt/handbuecher/ nach Base durchsuchen oder http://robert.familiegrosskopf.de, dort der Menüpunkt "Einführung Base", über den das Handbuch verfügbar ist, oder andere Menüpunkte, die nur das direkte Thema HSQLDB bzw. Datenbankreparatur betreffen. Diese Inhalte sind alle im Base-Handbuch enthalten.
Wenn Du den Server hinbekommen hast, dann reicht ein
als Eingabe z.B. über "Extras" → "SQL"
erstellt einen Nutzer, der keine Zugriffsrechte zum Erstellen von Tabellen etc. hat.
Mit diesem Nutzer greifen dann die Normaluser auf die Datenbank zu. Du als Administrator, der ja vielleicht noch Änderungen vornehmen will, nimmt dann den Nutzer "sa" aus der Vorgabe.
Vielleicht sollten wir die Einrichtung des Servers per privater Mail abhandeln - dann schreibe ich anschließend eine genaue Anleitung dazu, die wir hier auch weitergeben können.
Gruß
Robert
Mit dem einfachen Ablagen eines *.odb-Files ist das nicht zu bewerkstelligen.schane65 hat geschrieben:Ich würde meine dir bekannte Datenbank "Adressen" dort ablegen. Wie gehe ich dann weiter vor?
Ich gehe jetzt einmal davon aus, dass Du die Tabellen des *.odb-Files weiter nutzen willst. Dann geht das folgende Verfahren:
Auf dem Linux-Rechner die Pakete für den HSQLDB-Server einrichten. Je nach Linux-Version kann das natürlich unterschiedlich vonstatten gehen. Ich könnte das hier nur mit OpenSuSE nachvollziehen.
Wie eine interne Datenbank zu einer externen Datenbank umgewandelt werden kann steht in dem neuen Base-Handbuch (entweder http://de.libreoffice.org/hilfe-kontakt/handbuecher/ nach Base durchsuchen oder http://robert.familiegrosskopf.de, dort der Menüpunkt "Einführung Base", über den das Handbuch verfügbar ist, oder andere Menüpunkte, die nur das direkte Thema HSQLDB bzw. Datenbankreparatur betreffen. Diese Inhalte sind alle im Base-Handbuch enthalten.
Wenn Du den Server hinbekommen hast, dann reicht ein
Code: Alles auswählen
CREATE USER <username> PASSWORD <password>;
erstellt einen Nutzer, der keine Zugriffsrechte zum Erstellen von Tabellen etc. hat.
Mit diesem Nutzer greifen dann die Normaluser auf die Datenbank zu. Du als Administrator, der ja vielleicht noch Änderungen vornehmen will, nimmt dann den Nutzer "sa" aus der Vorgabe.
Vielleicht sollten wir die Einrichtung des Servers per privater Mail abhandeln - dann schreibe ich anschließend eine genaue Anleitung dazu, die wir hier auch weitergeben können.
Gruß
Robert