Français
Forum

DBase Datenbanken - ähnliche Datensätze dans einer Boucle aus verschiedenen Datenbanken l&

 
- page 1 -



holmol93
allô miteinander

ici c'est moi oui déjà erstklassig chez meiner ersten Frage geholfen worden et si je lente mais sûrement toujours plus derrière cela ganze Thema steige, stehe je doch la fois wieder avant einem, pour mich, unlösbaren Problem.

Zum Aufbau meines Programmes:
c'est un Programme um une une école trop verwalten. Pour mich un projet um un paire Dinge dazuzulernen.
l'instituteur et Schüler avons eigene Benutzerkonten, Funktionen et Rollen (zB. "Klassenlehrer";"Schulleiter","Klassensprecher") peut verteilt volonté et il y a une Rechteverwaltung, dans quel on den Benutzern sur ihren Accounts gewisse Lese et Schreibrechte beschränken peux.

il y a im Hintergrund verschiedene Datenbanken. une avec Benutzerdaten (Adresse,Alter,rôle,Mot de passe,nom,Benutzername), une avec den zugeteilten Rechten. en supplément hat chacun personne un eigenes Datenbankfile, quoi de qui Software automatisch erstellt wird. chez Lehrern contient es qui Klassen, qui ihm zugeteilt wurden pour dem Schema "KLASSE","SCHÜLERNAME","FACH", chez den Schülern ses Noten et Absenzen, pour dem Schema "LEHRER","FACH","NOTE", bzw: "ABSENZ"....

maintenant soll es une Funktion donner um Benutzerdaten trop changement et Benutzer trop effacer.
si je une Benutzer lösche, muss je seinen Eintrag aus qui Benutzerdatenbank, aus qui Rechtedatenbank et son eigenes DB File entfernen. cela klappt problemlos.

maintenant wird den Lehrern mais dans qui Notenübersicht toujours une "Leiche" avec dem gelöschten Schülernamen angezeigt, là cette oui im jeweiligen DB File des Lehrers mitverlinkt ist.

Diesen muss je alors herauslöschen.

j'ai mir folgendes überlegt:
cela Programme liest dans qui Schülerdatenbank qui Namen qui l'instituteur aus, qui ihm Noten ou bien Absenzen eingetragen avons -> Fachlehrer.
ensuite ouvrez es cela jeweilige DB File avec dem Lehrernamen et löscht alle Einträge dans quel qui nom des Schülers vorkommt. cela muss plusieurs fois dans Boucle passer, là es oui plusieurs l'instituteur sommes et un l'instituteur zT aussi 2 Fächer unterrichten peux.

dans meiner Boucle löscht es mais toujours seulement den Namen des Schülers aus qui banque de données des ersten Lehrers, qui ihm une Note gegeben hat et je suis vraie perplexe... qui Code (pas courir) sieht so aus:
db ("open",#1,dbuserdata$)' ouvrez qui Benutzerdatenbank
db ("use",#1)
db ("seek","USERNAME",personausw$,2)' cherchez den Namen des Schülers
db ("delete")' löscht ihn
db ("pack")
db ("close",#1)
db ("open",#2,dbrechte$)' ouvrez qui Rechtedatenbank
db ("use",#2)
db ("seek","USERNAME",personausw$,2)' cherchez den Schüler
db ("delete")' löscht seinen Eintrag
db ("pack")
db ("close",#2)
db ("open",#3,dbpendenzen$)' ouvrez qui banque de données pour cela Logfile
db ("AppendBlank")
db ("put","AN","SUPER-T")' hinterlässt une Logileeintrag pour cela Effacer des Schülers
db ("put","MESSAGE",dt("getdate",6)+" "+$ Trim(benutzer$)+" // löscht Schüler "+$ Trim(personausw$))
db ("putrec",0)
db ("pack")
db ("close",#3)
db ("open",#4,"C:\XProfanX2\Datenbanken\"+$ Trim(personausw$)+".DBF")' ouvrez qui eigene DB des Schülers
db ("use",#4)

Whilenot %dbEof

    satznr&= &dbreccount' Anzahl Datensätze en tout
    db ("use",#4)
    db ("go","Top")

    Si Satznr& > 0

        l'instituteur$=db("get","LEHRER")' Holt sich une Lehrernamen
        db ("open",#5,"C:\XProfanX2\Datenbanken\"+$ Trim(l'instituteur$)+".DBF")' ouvrez qui DB avec dem Namen des Lehrers
        db ("use",#5)

        whilenot %dbEof

            satznr2&=db ("seek","SCHUELER",personausw$,2)' cherchez den Namen des Schülers

            si satznr2& > 0

                db ("delete")' löscht den Datensatz
                db ("pack")
                db ("close",#5)

            Endif

            db("go","Next")

        endwhile

    Endif

    db("go","Next")

endwhile

db ("close",#4)

Wär cool, si la fois quelqu'un drüberschauen pourrait... je crois je schnall irgendwas beim le bout qui Boucle pas :O

Grüessli

Danny
 
06.05.2013  
 



« cette Beitrag wurde comme Solution gekennzeichnet. »

- page 2 -



Thomas
Freier
avec qui pcu ging's. Si maintenant mais aussi avec X2 possible son ou bien täusche je mich?
 $H Windows.ph
DECLARE MENU&,MENU2&
 $U DLGMENU.PCU=MENU.
WINDOWSTYLE 4+8
CLS
BUILDMENU2 %hwnd
BUILDMENU %hwnd
var menu%=1

WHILENOT (%KEY=2)

    WAITINPUT

    IF (ABS(%MENUITEM)=104) OU (ABS(%MENUITEM)=204)

        BREAK

    ENDIF

    Si (ABS(%MENUITEM)=102)

        ~SetMenu(%hwnd,0)
        ~DrawMenuBar(%hwnd)
        ~SetMenu(%hwnd,menu2&)
        ~DrawMenuBar(%hwnd)

    ElseIf (ABS(%MENUITEM)=202)

        ~SetMenu(%hwnd,0)
        ~DrawMenuBar(%hwnd)
        ~SetMenu(%hwnd,menu&)
        ~DrawMenuBar(%hwnd)

    EndIf

WEND

FIN

PROC BUILDMENU

    PARAMETERS DLG&
    MENU&=MENU.NEW(DLG&)
    MENU.SETNICEBACKGROUND
    MENU.POPUP "&Datei"
    MENU.APPENDMENU 100,"Neu"
    MENU.APPENDMENU 101,"Öffnen"
    MENU.APPENDMENU 102,"Menü 2"
    MENU.APPENDMENU 104,"Beenden"

endproc

PROC BUILDMENU2

    PARAMETERS DLG&
    MENU2&=MENU.NEW(DLG&)
    MENU.SETNICEBACKGROUND
    MENU.POPUP "&Dokument"
    MENU.APPENDMENU 200,"Speichern"
    MENU.APPENDMENU 201,"Drucken"
    MENU.APPENDMENU 202,"Menü 1"
    MENU.APPENDMENU 204,"Beenden"

endproc


383 kB
Hochgeladen:10.05.2013
Downloadcounter138
Download
 
Gruß Thomas
Windows XP SP2, XProfan X2
10.05.2013  
 



 
- page 1 -


Sorry, je sais scheinbar garnicht oui c'est ca quelle Leiste Du meinst.

Vlt. la fois une Screenshot montrer, simple à Beitrag anhängen.
 
08.05.2013  
 




holmol93


Heyho

Stimmt, hätt je grad de Anfang à mitschicken peut *g*

je crois aussi pas, cela es viele gibt, qui cet Possibilité chercher

mais comment tu vois, unterscheidet sich je pour dem, quelle Rechte qui Benutzer hat, cela menu dessus.
si je qui meinen Logoutvorgang so einbaue, dass je simple cela menu récente aufbauen lasse, sommes zum partie après Menüpunkte doppelt. ou bien un l'instituteur, qui sich einloggt, pour dem qui Schulleiter eingeloggt était, hat soudain près de seinem menu aussi encore Zugriff aufs Master oO

c'est pourquoi möcht je qui Leiste "löschen" et récente initialisieren laisser

qui Menüpunkte volonté sur Si- Anweisungen aus et eingeblendet. Pour dem Motto, si droite SoundSo vorhanden -> zeige "Funktionen.Master" usw...

Greetz,

Danny

175 kB
Kurzbeschreibung: Screenshot qui Menüleisten
Hochgeladen:08.05.2013
Downloadcounter1185
Download
 
08.05.2013  
 




Thomas
Freier
alors pour chacun Gruppe un eigenes menu? cela pourrait sur einem Dialog son et ensuite cela Zutreffende einblenden. ou bien siehe [...] 
simple qui Source einmal durchstöbern.
 
Gruß Thomas
Windows XP SP2, XProfan X2
08.05.2013  
 




H.Brill
près siehste, maintenant savoir du aussi, quoi avec banque de données-Normalisierung
gemeint ist.
si es un normales menu ist, pourrait on doch un komplettes
menu Montrer et je pour Rechten, avec EnableMenu chaque
Auswahlpunkte désactiver bzw. aktivieren.

So, eh bien doit je zur travail.
 
Benutze XPROFAN X3 + FREEPROFAN
Wir sind die XProfaner.
Sie werden von uns assimiliert.
Widerstand ist zwecklos!
Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.

Was die Borg können, können wir schon lange.
08.05.2013  
 



 
- page 2 -



E.T.
... ou bien arrêt un externes menu nutzen...
... et ensuite UseExtMenu...

là peux on joli entre den Menüs hin- et her échanger
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
08.05.2013  
 




holmol93
allô zusammen,

habe la fois un paire Opportunités durchprobiert, mais rien funktioniert so, comme soll

Überlegung ist:
une personne meldet sich à et cela menu passt sich je pour ihren Benutzerrechten à. cela klappt.
quoi pas klappt:
il y a une Logoutfunktion, quelle une Benutzer récente authentifiziert et qui Rechte (aussi pour menu) récente zuteilt.
si je cela menu après simple encore einmal récente erstelle, habe je gewisse Menüpunkte doppelt, nämlich encore qui de qui Vorperson. pouvoir on cela un paire la fois hat on un 3-Zeiliges menu...

Ausblenden et wieder einblenden bringt rien, là alles un menu ist, dans dem gewisse "AppendMenu" Punkte avec Si-Then-D'autre ausgeblendet sommes. qui rester beim Wiedereinblenden im gleichen Status... alors dans dem, de qui personne, qui sich comme erstes angemeldet hat.

si je cela menu avec Destroymenu(%HWnd) zerstöre, verschwindet es zwar, mais je peux es après pas encore einmal récente magasin (ist chez mir une Procédure.). Fehlermeldung: "Fehler beim erstellen des Menüs."

What can I do?

c'est cela einzige Problem, quoi je de Anfang à pas lösen konnte... maintenant hat mon Programme soweit alle Funktionen et j'ai cela jusqu'à zum Schluss aufgeschoben et brings simple pas zum courir... es muss doch là irgend une Weg donner, cela bestehende menu entweder encore einmal récente trop magasin sans doppelte et dreifache Menüpunkte ou bien es trop effacer et encore einmal entier récente trop "definieren"...

je weiss, mon Problem est un Luxusproblem xD bien sûr peut je qui Menüpunkt simple "ausgrauen", mais il y a gewisse Sachen, là voudrais je simple pas, dass quelqu'un, qui ne...aucune droite hat vous trop sehn, elle voit et quoi bringt es dem Schüler, si il aussi encore qui Menüpunkte qui l'instituteur sieht xD
 
10.05.2013  
 



exposition la fois, Dir pourrait qui dlgmenu aider:  [...]  -

zwar déjà vieux mais Code ist chez.
 
10.05.2013  
 




Thomas
Freier
avec qui pcu ging's. Si maintenant mais aussi avec X2 possible son ou bien täusche je mich?
 $H Windows.ph
DECLARE MENU&,MENU2&
 $U DLGMENU.PCU=MENU.
WINDOWSTYLE 4+8
CLS
BUILDMENU2 %hwnd
BUILDMENU %hwnd
var menu%=1

WHILENOT (%KEY=2)

    WAITINPUT

    IF (ABS(%MENUITEM)=104) OU (ABS(%MENUITEM)=204)

        BREAK

    ENDIF

    Si (ABS(%MENUITEM)=102)

        ~SetMenu(%hwnd,0)
        ~DrawMenuBar(%hwnd)
        ~SetMenu(%hwnd,menu2&)
        ~DrawMenuBar(%hwnd)

    ElseIf (ABS(%MENUITEM)=202)

        ~SetMenu(%hwnd,0)
        ~DrawMenuBar(%hwnd)
        ~SetMenu(%hwnd,menu&)
        ~DrawMenuBar(%hwnd)

    EndIf

WEND

FIN

PROC BUILDMENU

    PARAMETERS DLG&
    MENU&=MENU.NEW(DLG&)
    MENU.SETNICEBACKGROUND
    MENU.POPUP "&Datei"
    MENU.APPENDMENU 100,"Neu"
    MENU.APPENDMENU 101,"Öffnen"
    MENU.APPENDMENU 102,"Menü 2"
    MENU.APPENDMENU 104,"Beenden"

endproc

PROC BUILDMENU2

    PARAMETERS DLG&
    MENU2&=MENU.NEW(DLG&)
    MENU.SETNICEBACKGROUND
    MENU.POPUP "&Dokument"
    MENU.APPENDMENU 200,"Speichern"
    MENU.APPENDMENU 201,"Drucken"
    MENU.APPENDMENU 202,"Menü 1"
    MENU.APPENDMENU 204,"Beenden"

endproc


383 kB
Hochgeladen:10.05.2013
Downloadcounter138
Download
 
Gruß Thomas
Windows XP SP2, XProfan X2
10.05.2013  
 




holmol93
hey IF&Thomas

Merci pour Eure répondre. Werde es à la maison grad la fois ausprobieren

alors j'ai oui XProfan X2 mais avec cela ist (soweit je es feststellen konnte) rien
Vergleichbares possible... Habe rumprobiert et quelque chose ist garantiert toujours de travers gegangen...

je berichte demain la fois drüber, si es geklappt hat

Greetz,

Danny
 
10.05.2013  
 




Thomas
Freier

alors j'ai oui XProfan X2 mais avec cela ist (soweit je es feststellen konnte) rien
Vergleichbares possible.


Doch. Wechselmenüs sous 29.1.3 - CreateMenu, AppendMenu, SetMenu et DestroyMenu
 
Gruß Thomas
Windows XP SP2, XProfan X2
11.05.2013  
 




E.T.

...
il y a une Logoutfunktion, quelle une Benutzer récente authentifiziert et qui Rechte (aussi pour menu) récente zuteilt.
...


alors Logout  heist m.E., cela qui akt. Benutzer abgemeldet et niemand plus angemeldet ist. alors Benutzer abmelden, cela menu komplett zestören et ensuite im Programme un Standard - menu avec einer Login - Funktion mettons.

So comment du cela beschreibst, ist es plutôt un "Benutzer wechseln". je denke, là geraten qui Menü's durcheinander. Würde je plutôt den Benutzer komplett abmelden vom Programme, Standard-menu mettons et ggf. chez einem klick sur z.B. une Button "Benutzer wechseln"  juste wieder une sélection pour reg. Benutzer anbieten.

et ensuite cela menu je pour Rechten wieder "zusammenbauen" et Montrer...
 
XProfan X2
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
11.05.2013  
 




holmol93
allô miteinander!

Habe mon menu sur qui Alternative Possibilité avec qui Unit angepasst... Funktioniert! je peux cela menu jederzeit anéantir et récente aufbauen, sans Fehlermeldung! Genial.

@Mario,

Jap, oui c'est ca so verstehe je Logout eigentlich aussi je hab mich anfangs à unserem Datenbanksystem im magasin orientiert, sur dem on sich seulement avec einem Mot de passe authentifiziert. Sobald on sur "Logout" allez, venez tout de suite un Logindialog, zum schnellen Benutzerwechsel.
Habe es maintenant allerdings so angepasst, comment du vorgeschlagen la hâte:
2 Menüs. une avec allen Funktionen et Funktionen volonté pour Rechten angezeigt et ausgeblendet et eines, quoi pour einem Logout angezeigt wird et wohin on seulement qui Optionen "Beenden" et "Anmelden" hat.

Funzt problemlos ;) avec cela ist maintenant aussi enfin qui Funktion "Als Benutzer ausgeben" possible geworden ;)

Gruess aus Bern et encore une schönen Sonntagnachmittag!
 
12.05.2013  
 




répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

22.249 Views

Untitledvor 0 min.
Manfred Barei08.10.2023
Member 007717917.10.2018
RudiB.27.08.2018
Ernst01.06.2016
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie