AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Arbeitszeitaufzeichnung - Ideen sind gefragt!
Thema durchsuchen
Ansicht
Themen-Optionen

Arbeitszeitaufzeichnung - Ideen sind gefragt!

Ein Thema von m-werk · begonnen am 23. Okt 2002 · letzter Beitrag vom 18. Nov 2002
Antwort Antwort
Seite 4 von 4   « Erste     234   
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#31
  Alt 17. Nov 2002, 17:22
Hallo m-werk,

da die Arbeitszeittabelle ja auch auf der Personalnummer basiert, würde ich noch zwei Änderungen im bisherigen Programm machen:

Delphi-Quellcode:
if UpperCase(Trim(qryCheckPasswort.Value)) =
            UpperCase(Trim(ePasswort.Text)) then
         begin
            PasswortOK := True;
            PNr := qryCheckpersonalnummer.Value;
         end
An der Stelle, an der das Passwort überprüft wird, solltest du die gleich die Personalnummer in der Variablen PNr merken, die im pulic Bereich des Formulars deklariert werden muss, damit das Hauptformular später darauf zugreifen kann. Damit die Personalnummer in der qryCheck - Datenmenge erscheint, muss der SQL Text wie folgt aussehen:

Code:
SELECT Passwort,personalnummer FROM passwoerter W
    WHERE W.personalnummer =
       (SELECT personalnummer, name FROM personen
          WHERE name = :name)
Außerdem musst du noch das neue Feld "Personalnummer" über den Feldeditor deiner Anwendung hinzufügen.

Jetzt kannst du dir überlegen, wie du die Eingabe auf dem Hauptformular realisierst. Bei speziellen Fragen helfe ich gerne weiter.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
m-werk

Registriert seit: 14. Jun 2002
215 Beiträge
 
Delphi 2009 Architect
 
#32
  Alt 17. Nov 2002, 19:48
Hi, ich hab deinen rat befolgt und nun ein Problem.

Ich habe PNr im Public berech in der Loginform als Boolean deklariert:
Ist das richtig so?

Weiters habe ich auch die SQL-Anweisung in qryCheck geändert.

Aber bei folgenden Code, den ich auch so eingebaut habe kommt eine Fehlermeldung:

Code:
PNr := qryCheckPersonalnummer.Value;
[Fehler] Login.pas(67): Undefinierter Bezeichner: 'qryCheckPersonalnummer'

Was ist da nur falsch? ich habe doch alles befolgt!!

Weiters: Ich habe den Quelltext mir noch mal angesehen. Der ist so richtig, wie du mir auch beschrieben hast, aber wenn ich das Passwort richtig eingebe, dann öffnet sich aber das ArbeitszeitForm NICHT!
Grüße, m-werk
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#33
  Alt 17. Nov 2002, 20:31
Hallo m-werk,

Zitat:
Außerdem musst du noch das neue Feld "Personalnummer" über den Feldeditor deiner Anwendung hinzufügen.
Diesen Schritt hast du noch nicht ausgeführt. (Doppelklick auf die qryCheck Komponente und alle Felder hinzufügen.)

Poste doch bitte mal den Quelltext des Projektes. Wenn du meinen Code übernimmst (und den korrekten Namen des Hauptfensters überprüft hast), funktioniert es. Beachte bitte, dass das Passwort Groß-/Kleinschreibung unterscheidet!
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
m-werk

Registriert seit: 14. Jun 2002
215 Beiträge
 
Delphi 2009 Architect
 
#34
  Alt 17. Nov 2002, 20:41
Hi, das hab ich totall übersehen mit dem Alle Felder hinzufügen.
Das funktioniert jetzt. Ich habe PNr im Public-Teil als String deklariert.

So sieht der Quelltext aus:

Code:
program Arbeitszeitermittlung;

uses
  Forms,
  Login in 'Login.pas' {FrmLogin},
  Arbeitszeit in 'Arbeitszeit.pas' {ArbeitszeitForm};

{$R *.res}

begin
  Application.Initialize;
  frmLogin := TfrmLogin.Create(Application);
  if (frmLogin.ShowModal = 1) and frmLogin.PasswortOK then
  begin
     Application.CreateForm(TArbeitszeitForm, ArbeitszeitForm);
     Application.Run;
  end
  else
     Application.Terminate;
end.
Das ArbeitszeitForm öffnet sich noch immer nicht!
Grüße, m-werk
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#35
  Alt 17. Nov 2002, 22:12
Hallo m-werk,

es könnte noch an dem ModalResult des Schalters liegen, den der Benutzer im Login-Fenster Drucken kann. Dieser sollte mrOK sein (was der 1 entspricht). Öffne noch einmal frmLogin und stelle den ModalResult des "OK" Schalters auf 1 bzw. mrOK. Sollte das dann auch noch nicht klappen, teste das Programm mal im Einzelschrittmodus.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
m-werk

Registriert seit: 14. Jun 2002
215 Beiträge
 
Delphi 2009 Architect
 
#36
  Alt 18. Nov 2002, 20:53
Hi, das mit mrOK hat funktioniert.

So, es war nun eine mühselige procedure aber nun gehts zur Hauptform.

Ich habe jetzt in der Hauptform eine BDE-Tabelle, DataSource und ein DBText eingefügt.

In der Tabelle habe ich jetzt die DB Personen ausgewählt und Alle Felder hinzugefügt. Weiters habe ich dann die DataSource mit der Tabelle verknüpft und den DBText mit der DataSource und dem Feldnamen verknüpft.

Was muß ich jetzt noch tun, damit mir auch der richtige Wert nach dem Login angezeigt bekomme. Ich bekomme nach dem Login, (egal womit ich mich anmelde) immer nur den ersten Datenbankwert ausgeliefert.
Grüße, m-werk
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 4   « Erste     234   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz