WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Software (http://www.wcm.at/forum/forumdisplay.php?f=5)
-   -   Access - wie krieg ich sowas hin? (http://www.wcm.at/forum/showthread.php?t=159871)

pirate man 27.02.2005 09:20

Access - wie krieg ich sowas hin?
 
ich soll in der arbeit ein klientenprogramm mittels access erstellen, was ja an und für sich kein problem darstellen sollte
jetzt wüsste ich aber gern wie ich es hinbekomme dass nachdem öffnen der datenbank sofort eine eingabemaske erscheint - ohne dem fenster in dem tabellen, berichte usw. drinnen stehn
ich hab mal einen screenshot des alten klientenprogramms angehängt - so schauts aus wenn man die datenbank öffnet
außerdem wärs noch interessant zu wissen ob es eine möglichkeit gibtdie vorhandene datenbank zu bearbeiten, da ich ja nicht auf tabellen usw. zugreifen kann (zumindest auf den "ersten blick")
ich hoff ihr wisst rat, dankeschön

enjoy2 27.02.2005 09:31

Sieh dir das Modul Start in der Beispieldatenbank mal an

pirate man 27.02.2005 12:20

verdammt, ich hab mir fast gedacht dass da programmierkenntnisse von nöten sein werden :(

jay_R 27.02.2005 12:27

jo.. a bissal was musst in diesem fall auf jeden fall programmieren können...
und wenn i ma da deinen screenshot anschau dürften ja einige der grauen felder erst dann weiss werden wenn in nem andren feld was eingetragen wird... das gehört auch ausprogrammiert (hab ich selbst bei drei meiner programme so machen müssen)

pirate man 27.02.2005 13:17

ja, so isses leider
aba ich werd schaun ob ich das vorhandene bearbeiten kann, dann hab ich weniger arbeit :D

jay_R 27.02.2005 13:39

dh. du hast eh die möglichkeit das jetzige umzuändern?? würd ich dann auf jeden fall auch versuchen.. denn solche programme neu zu machen dauert sicher einige zeit!

pirate man 27.02.2005 13:42

ich hab in erfahrung gebracht dass ich shift während dem öffnen der datenbank drücken muss damit das fenster mit den tabellen, berichten usw. kommt
bis jetzt hab ichs nicht gewusst und keine möglichkeit gesehen die bestehende zu ändern

jay_R 27.02.2005 13:44

is grundsätzlich richtig, dass du mit SHIFT und möglicherweise auch zusätzlich mit F11 da was machen kannst... dies lässt sich aber programmtechnisch auch deaktivieren.. also mal schaun obs wirklich funktioniert!

pirate man 27.02.2005 13:52

dann kann ich nur hoffen dass das mit shift hinhaut, werds morgen in der arbeit testen und berichten
ich hoff mir wird geholfen falls ich nicht weiter weiß *g*

pirate man 27.02.2005 23:02

sollte es es mit shift/f11 nicht funktionieren, kann man es umgehen wenn es - wie du sagst - programmtechnisch gemacht wurde? und wenn ja, wie?

jay_R 28.02.2005 07:24

puh.. das wird dann wahrscheinlich nur der programmierer wissen...

ich habs bei meinen progs so gemacht, dass ich einen versteckten button eingebaut hab mit dem ich das programm "freischalten" kann... aber wie gsagt, des wird nur da programmierer selbst wissen

pirate man 28.02.2005 07:42

puuuuh, glück ghabt - mit shift funktionierts :cool:

pirate man 01.04.2005 11:10

so, ich hock grad an dem programm und häng grad ein bissl beim aktivieren/deaktivieren von steuerelementen
ich hab an diesen post einen screenie mit ist/soll angehängt fürs bessere verständnis meines probs

die textfelder sollen erst aktiv werden wenn die checkbox links davon aktiviert ist
eigentlich funktionierts ja, aber nur wenn ich die checkbox zuerst anhackl und dann das hackal wieder weggieb - ich hätts aber gern dass das die felder schon beim öffnen des formulars inaktiv sind (wenn die checkboxen nicht angehacklt ist)

hier mal der code im visual basic ("MO" ist die Checkbox MO, "ZeitMO" das Feld daneben):

Code:

Private Sub MO_Click()
If Me.MO.Value = True Then
Me.ZeitMO.Enabled = True
Else
Me.ZeitMO.Enabled = False
End If
End Sub

ich hoff ihr könnts mir da weiter helfen
danke schon mal

pirate man 01.04.2005 11:11

soll

bully 01.04.2005 23:07

Das Formular in der Entwurfsansicht öffnen, das Eigenschaftsfenster aufmachen, das jeweilige Steuerelement markieren und die Eigenschaft enabled auf false setzen, ist standardmäßig immer true.

lg
bully

pirate man 04.04.2005 22:35

na da sag ich danke, hat gefunzt :)
aber 1x bräucht ich noch hilfe von euch, dann sollte das programm fertig sein

pro datensatz gibt es 3 datums-angaben, die die daten von verordnungscheinen sind
jeder verordnungsschein gilt 28 tage und das programm soll alle datensätze ausgeben deren verordnungsscheine in 5 tage ablaufen

bespiel:
verordnung1 3.1.05, verordnung2 5.2.05, verordnung3 4.3.05
die verordnung3 gilt bis zum 1.4.05

von der theorie her soll access den letzten eintrag hernehmen, dann werden 23 tage hinzugezählt (23 deshalb weil alle datensätze angezeigt werden sollen deren verordnungsscheine in <6 tagen ablaufen und die scheine nur 28 tage gültig sind)

es soll immer nur der letzte eintrag hergenommen werden - wenn in verordnung3 nix steht dann sollen zu verordnung2 23 tage hinzugezählt werden, steht nur in verordnung1 was drinnen dann muss dieser eintrag genommen werden und sind alle 3 felder ausgefüllt dann muss verordnung3 genommen werden

ich hoffe ich habe das ganze halbwegs verständlich formuliert und dass ihr mir noch einmal helfen könnt
ich hab nämlich wirklich keine ahnung wie ich das realisieren könnte

danke schon mal

bully 05.04.2005 08:44

Ich geh einmal davon aus, dass du die drei Felder als Datumsfelder definiert hast, auch ein Feld Gültigkeitsdatum sollte als Datumsfeld existieren. Dann könnte eine Prozedur, die deinen Wünschen entspricht ganz einfach so aussehen:

Private Sub Zuweisen_Click()
If Not IsNull(verordnung3) Then
gueltig = verordnung3 + 23
Else
If Not IsNull(verordnung2) Then
gueltig = verordnung2 + 23
Else
gueltig = verordnung1 + 23
End If
End If
End Sub

Ich habe in dem Beispiel die Sache so gelöst, dass mittels Befehlsschaltfläche Zuweisen das Datum in das Feld gueltig übernommen wird. Wichtig ist die Definition als Datumsfeld. Access rechnet jedes Datum intern in einen Integer-Wert um, damit funktioniert die Zuweisung mittels Addition von 23. Die If-Struktur erklärt sich hoffentlich von selbst.

lg
bully

pirate man 17.04.2005 16:08

ich meld mich erst jetzt wieder zu wort da ich die knappen letzten 2 wochen leider nicht zum bearbeiten des programms gekommen bin

zuerst nochmal ein dankeschön @bully, dein geposteter "code" hat gepasst - allerdings mit 23 statt 28 da jeder verordnungsschein 28 tage gilt und das datum des letzten tages der gültigkeit eingetragen werden soll (hab mich da bei meinem vorherigen post wohl schlecht ausgedrückt)

jetzt fehlt noch die ausgabe:
es sollen alle datensätze angezeigt werden die bis heute+5 gültig sind
beispiel: heute ist der 17.4. - somit sollen alle datensätze ausgegeben werden deren gültigkeitsdatum der 17.4., 18.4., 19.4., 20.4., 21.4. oder 22.4. ist

die ausgabe soll als formular erfolgen da sie als liste in einem register anzeigt werden soll
ein beispiel für die ausgabe hab ich als screenshot angehängt (ist eine andere liste)

ich kann mir vorstellen dass ich schon etwas nerve aber hoffe trotzdem dass ihr mir helfen könnt

schon mal vielen dank

bully 17.04.2005 22:07

Zitat:

Original geschrieben von pirate man
allerdings mit 23 statt 28
Und mein Code:
Zitat:

gueltig = verordnung1 + 23
Also ich hab es dir mit 23 Tagen geschrieben, weil du das so wolltest.

Zu deinem nächsten Problem: Erstelle eine Abfrage und trage als Kriterium bei dem Datumsfeld >=Datum() UND <=Datum()+5 ein. Dann erstellst du das Formular auf Basis der Abfrage und das wars.

Dazu ist nun wirklich keine Zeile VBA-Code nötig.

lg
bully

pirate man 18.04.2005 10:23

bzgl. den 23 oder 28 tagen
vergiss es, hab einen blödsinn geschrieben, hat eh so gepasst ;)

hab mir evtl. gedacht dass es auch mit vba geht weil ich nicht gewusst hab wie ich die abfrage in die registerseite einfüge
habs jetzt aber geschafft
zwar leider nicht so in formularform wie auf dem vorherigen screenshot sondern in tabellenform, aber hauptsache es is mal da

wieder ein großes dankeschön
aber ich befürchte das war leider nicht meine letzte frage :(

pirate man 18.04.2005 22:36

na was hab ich gesagt, ich steh schon wieder an :(
aber wenigstens handelt sichs diesmal um die letzte "aufgabe" der änderung des programmes

und zwar soll ein bestehender bericht geändert werden
mein problem dabei ist dass zu der dafür benötigten tabelle neue spalten hinzugefügt wurden und ich jetzt nicht weiß wie ich diese in die "feldliste" eintragen kann
die hilfe vom access hat mir zwar gesagt dass es eine symbolleiste für die feldliste geben soll (auf der es einen button "aktualisieren" gibt) aber ich hab nix gefunden

ich hab mich auch schon mit dem ausdrucksgenerator gespielt ("=[tb_KL]![AngName]" - spalte "AngName" aus tabelle "tb_KL") - aber sobald ich dann den bericht öffnen will kommt ein kleines kastl in das ich einen parameterwert eingeben soll

ich hoffe dass auch dieses "problem" gelöst werden kann
dankeschön

bully 18.04.2005 23:19

Auch dieses Problem kann relativ einfach gelöst werden (in Access 2002, aber es müsste in den anderen Versionen auch so gehen):

Also die Basistabelle des Berichts muss natürlich schon um das neue Feld erweitert sein. Öffne den Bericht in der Entwurfsansicht. Unter Ansicht->Symbolleisten musst du die Symbolleiste "Berichtsentwurf" aktiviert haben. Dort findest du das Symbol mit dem Namen "Feldliste" (links neben der auffälligen Toolbox mit dem Hammer). Wenn du dieses Symbol aktivierst, öffnet sich ein Fenster mit allen Feldern der Basistabelle, auch dem dazugefügten Feld. Das schnappst du und beförderst es per Drag-und-Drop im Bericht dorthin, wo du die Daten haben möchtest. Es wird normalerweise auch eine Spaltenüberschrift eingefügt, wenn du diese nicht willst-> vom Feld trennen (rechte Maustaste) und löschen.

lg
bully

pirate man 19.04.2005 08:12

oh, hab mich anscheinend wieder schlecht ausgedrückt - naja, dann nochmal *g*
die feldliste hab ich gefunden und ich weiß auch wie ich daraus objekte in den bericht bekomme
aber der tabelle auf der der bericht basiert wurden nachträglich einige spalten hinzugefügt und genau diese neuen spalten fehlen leider in der feldliste - mein problem ist jetzt dass ich nicht weiß wie ich diese fehlenden spalten in die feldliste hinzufügen kann
ich hab mal ein pic gebastelt damit du siehst was ich meine (alle spalten der tabelle sollen auch in der feldliste stehen)

T.dot 19.04.2005 08:23

Kommen die Daten für den Bericht aus einer Abfrage?
Falls ja, musst du erst diese abändern und die neuen Felder hinzufügen, dann kannst du sie im Bericht einfügen.
Woher die Daten im Bericht kommen steht in den Eigenschaften unter "Datenherkunft" oder so ähnlich.

mfg Thomas

bully 19.04.2005 11:55

Na ja, alles klar, wenn die Feldliste das neue Feld nicht anzeigt, dann liegt eine Abfrage dazwischen. Also musst du die Abfrage wie T.dot schon geschrieben hat, um die neuen Felder erweitern.

Bericht->Entwurfsmodus->Eigenschaften->Datenherkunft, dort siehst du genau, wo die Daten herkommen (SELECT.....)

lg
bully

pirate man 19.04.2005 12:18

Zitat:

Original geschrieben von bully
Na ja, alles klar, wenn die Feldliste das neue Feld nicht anzeigt, dann liegt eine Abfrage dazwischen. Also musst du die Abfrage wie T.dot schon geschrieben hat, um die neuen Felder erweitern.

Bericht->Entwurfsmodus->Eigenschaften->Datenherkunft, dort siehst du genau, wo die Daten herkommen (SELECT.....)

ich nehm an du meinst das kastl "steuerelementinhalt"?
aber wie ich sehe hab ich anscheinend talent um probleme ungenau zu beschreiben :rolleyes:

es gibt im bericht noch keine felder der neuen spalten - dazu komm ich gar nicht da ich die eigentlich aus der feldliste holen wollte (was ja noch nicht geht)

sprich: zuerst will ich die neuen spalten in die feldliste hinzufügen um sie dann in den bericht "einzubauen"

bully 19.04.2005 16:16

Nein, gemeint war das du zuerst im Bericht nachschaust, welche Tabelle oder wie ich vermute eben Abfrage die Daten für den Bericht liefert. Dazu musst du eben zuerst im bestehenden Bericht nachschauen, welche Abfrage es ist. Das war mit
Zitat:

Bericht->Entwurfsmodus->Eigenschaften->Datenherkunft
gemeint, nicht der Steuerelementinhalt! Erst wenn du weißt, woher die Berichtsdaten kommen, kannst du dann die Abfrage modifizieren (zusätzliche Haken bei den neuen Feldern=Spalten), um dann wieder zum Bericht zurückzukehren und die Feldliste aufzurufen.

Es klingt verwirrend, aber es kann IMHO nur so sein, dass dein Bericht die Daten eben nicht aus der Tabelle, sondern sozusagen gefiltert aus der Abfrage bekommt. Denn sonst würden dir die neuen Tabellenfelder in der Feldliste automatisch angezeigt werden. Ich hoffe, dass damit die Missverständnisse geklärt sind.

lg
bully


Alle Zeitangaben in WEZ +2. Es ist jetzt 02:34 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag