Español
Foro

DBase Datenbanken - ähnliche Datensätze en uno Bucle de verschiedenen Datenbanken l&

 
- Página 1 -



holmol93
¡Hola miteinander

Hier me está sí ya erstklassig en meiner ersten Cuestión geholfen worden y si yo langsam aber sicher siempre mehr hinter todos Thema steige, stehe Todavía veces otra vez antes una, para mich, unlösbaren Problema.

Zum Aufbau meines Programmes:
Es una Programa una Schule a verwalten. Für mich una Projekt en unos pocos Dinge dazuzulernen.
Lehrer y Schüler haben propio Benutzerkonten, Características y Rollen (zB. "Klassenlehrer";"Schulleiter","Klassensprecher") puede verteilt y ser lo son una Rechteverwaltung, en welcher uno el Benutzern en ihren Accounts gewisse Lese y Schreibrechte beschränken kann.

Lo son en el Hintergrund verschiedene Datenbanken. Un con Benutzerdaten (Adresse,Alter,Papel,Contraseña,Name,Benutzername), una con el zugeteilten Rechten. Dazu ha jede Person una propio Datenbankfile, de lo que el Software automáticamente erstellt se. En Lehrern enthält lo el Klassen, el ihm zugeteilt fueron después de el Schema "KLASSE","SCHÜLERNAME","FACH", en el Schülern ihre Noten y Absenzen, después de el Schema "LEHRER","FACH","NOTE", o: "ABSENZ"....

Jetzt se lo una Función geben en Benutzerdaten a ändern y Benutzer a löschen.
Cuando tengo un Benutzer lösche, muss Yo seinen Eintrag de el Benutzerdatenbank, de el Rechtedatenbank y ser propio DB File entfernen. Das klappt problemlos.

Jetzt se el Lehrern aber en el Notenübersicht siempre ni "Leiche" con el gelöschten Schülernamen adecuado, como dieser sí en el jeweiligen DB File des Lehrers mitverlinkt es.

Diesen muss Yo also herauslöschen.

Yo habe me folgendes überlegt:
Das Programa liest en el Schülerdatenbank el Namen el Lehrer de, el ihm Noten oder Absenzen eingetragen haben -> Fachlehrer.
Dann öffnet lo el jeweilige DB File con el Lehrernamen y löscht todos Einträge en welcher el Name des Schülers vorkommt. Das muss mehrmals en Bucle passieren, como lo sí mehrere Lehrer son y una Lehrer zT auch 2 Fächer unterrichten kann.

In meiner Bucle löscht lo aber siempre sólo el Namen des Schülers de el Datenbank des ersten Lehrers, el ihm una Note gegeben ha y yo bin echt ratlos... Der Code (no lauffähig) sieht así de:
db ("open",#1,dbuserdata$)' öffnet el Benutzerdatenbank
db ("use",#1)
db ("seek","USERNAME",personausw$,2)' sucht el Namen des Schülers
db ("delete")' löscht ihn
db ("pack")
db ("close",#1)
db ("open",#2,dbrechte$)' öffnet el Rechtedatenbank
db ("use",#2)
db ("seek","USERNAME",personausw$,2)' sucht el Schüler
db ("delete")' löscht seinen Eintrag
db ("pack")
db ("close",#2)
db ("open",#3,dbpendenzen$)' öffnet el Datenbank para el Logfile
db ("AppendBlank")
db ("put","AN","SUPER-T")' hinterlässt una Logileeintrag para el Löschen 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")' öffnet el propio DB des Schülers
db ("use",#4)

Sinestar encargado %dbEof

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

    If Satznr& > 0

        lehrer$=db("get","LEHRER")' Holt se una Lehrernamen
        db ("open",#5,"C:\XProfanX2\Datenbanken\"+trim$(lehrer$)+".DBF")' öffnet el DB con el Namen des Lehrers
        db ("use",#5)

        whilenot %dbEof

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

            if satznr2& > 0

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

            Endif

            db("go","Next")

        endwhile

    Endif

    db("go","Next")

endwhile

db ("close",#4)

Wär fresco, si veces alguien drüberschauen podría... Yo glaube Yo schnall algo beim Ablauf el Bucle no :O

Grüessli

Danny
 
06.05.2013  
 



« Dieser Contribución wurde como Solución gekennzeichnet. »

- Página 2 -



Thomas
Freier
Mit el pcu ging's. Si ahora aber auch con X2 posible ser oder täusche Yo 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) O (ABS(%MENUITEM)=204)

        BREAK

    ENDIF

    If (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
Ladeanzahl138
Descargar
 
Gruß Thomas
Windows XP SP2, XProfan X2
10.05.2013  
 



 
- Página 1 -


Sorry, Yo weiß scheinbar garnicht genau welche Leiste ¿Quieres decir que.

Vlt. veces a la Screenshot zeigen, simplemente a Contribución anhängen.
 
08.05.2013  
 




holmol93


Heyho

Stimmt, hätt Yo grad de Anfang a mitschicken puede *g*

Yo glaube auch no, el lo viele son, el esta Möglichkeit suchen

Aber como du siehst, unterscheidet se je después de el, welche Rechte el Benutzer ha, el Menü oben.
Wenn Yo el media Logoutvorgang así einbaue, dass Yo simplemente el Menü neu aufbauen lasse, son para Teil danach Menüpunkte doppelt. Oder una Lehrer, el se einloggt, después de el el Schulleiter eingeloggt war, ha plötzlich neben seinem Menü auch todavía Zugriff aufs Master oO

Deshalb möcht Yo el Leiste "löschen" y neu inicializar dejar

El Menüpunkte voluntad encima If- Anweisungen de y eingeblendet. Nach el Motto, Wenn Recht SoundSo disponible -> zeige "Funktionen.Master" usw...

Greetz,

Danny

175 kB
Kurzbeschreibung: Screenshot el Menüleisten
Hochgeladen:08.05.2013
Ladeanzahl1185
Descargar
 
08.05.2013  
 




Thomas
Freier
Also para jede Gruppe una propio Menü? Das podría en una Diálogo ser y luego el Zutreffende einblenden. Oder siehe [...] 
Einfach el Fuente una vez durchstöbern.
 
Gruß Thomas
Windows XP SP2, XProfan X2
08.05.2013  
 




H.Brill
Nah siehste, ahora weißt du auch, qué con Datenbank-Normalisierung
gemeint es.
Wenn lo una normales Menü es, podría uno doch una komplettes
Menü Mostrar y je después de Rechten, con EnableMenu cada
Auswahlpunkte deaktivieren o. aktivieren.

So, nun muß Yo a Arbeit.
 
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  
 



 
- Página 2 -



E.T.
... oder sólo una externes Menü nutzen...
... y luego UseExtMenu...

como puede ser schön zwischen el Menüs hin- y her wechseln
 
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
¡Hola zusammen,

habe veces unos pocos Möglichkeiten durchprobiert, aber nichts funktioniert así, como se

Überlegung es:
Un Person meldet se a y el Menü passt se je después de ihren Benutzerrechten a. Das klappt.
Was no klappt:
Lo son una Logoutfunktion, welche una Benutzer neu authentifiziert y el Rechte (auch fürs Menü) neu zuteilt.
Wenn Yo el Menü danach simplemente todavía una vez neu erstelle, Yo gewisse Menüpunkte doppelt, nämlich todavía el de el Vorperson. Macht al unos pocos Tiempo ha uno una 3-Zeiliges Menü...

Ausblenden y otra vez einblenden bringt nichts, como alles una Menü es, en el gewisse "AppendMenu" Punkte con If-Then-Más ausgeblendet son. El bleiben beim Wiedereinblenden en el gleichen Status... Also en el, de el Person, que como erstes angemeldet ha.

Wenn Yo el Menü con Destroymenu(%HWnd) zerstöre, verschwindet lo zwar, pero yo kann lo danach no todavía una vez neu invitar (es en me una Procedimiento.). Fehlermeldung: "Fehler beim redactar des Menüs."

What can I do?

Es el einzige Problema, Yo de Anfang a no lösen podría... Jetzt ha mein Programa soweit todos Características y yo habe el a para Schluss aufgeschoben y brings simplemente no para laufen... lo muss doch como irgend una Weg geben, el bestehende Menü entweder todavía una vez neu a invitar sin doppelte y dreifache Menüpunkte oder lo a löschen y todavía una vez bastante neu a "definieren"...

Yo blanco, mein Problema es una Luxusproblem xD Klar könnt Yo el Menüpunkt simplemente "ausgrauen", pero son gewisse Sachen, como möchte Yo simplemente no, dass alguien, el kein Recht ha ellos a sehn, ellos sieht Und qué bringt lo el Schüler, si él auch todavía el Menüpunkte el Lehrer sieht xD
 
10.05.2013  
 



Schau veces, Usted podría el dlgmenu helfen:  [...]  -

zwar ya alt aber Code es en.
 
10.05.2013  
 




Thomas
Freier
Mit el pcu ging's. Si ahora aber auch con X2 posible ser oder täusche Yo 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) O (ABS(%MENUITEM)=204)

        BREAK

    ENDIF

    If (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
Ladeanzahl138
Descargar
 
Gruß Thomas
Windows XP SP2, XProfan X2
10.05.2013  
 




holmol93
hey IF&Thomas

Merci para Eure Respuesta. Werde lo daheim grad veces ausprobieren

Also Yo sí XProfan X2 aber así es (soweit Yo determinar podría) nichts
Vergleichbares posible... Posesiones rumprobiert y algo es garantiert siempre torcido gegangen...

Yo berichte morgen veces drüber, si geklappt ha

Greetz,

Danny
 
10.05.2013  
 




Thomas
Freier

Also Yo sí XProfan X2 aber así es (soweit Yo determinar podría) nichts
Vergleichbares posible.


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




E.T.

...
Lo son una Logoutfunktion, welche una Benutzer neu authentifiziert y el Rechte (auch fürs Menü) neu zuteilt.
...


Also Logout  heist m.E., el el akt. Benutzer abgemeldet y niemand mehr angemeldet es. Also Benutzer abmelden, el Menü komplett zestören y luego en el Programa una Standard - Menü con uno Login - Función conjunto.

So como Si es usted el beschreibst, es más una "Benutzer wechseln". Yo denke, como geraten el Menü's durcheinander. Würde Yo más el Benutzer komplett abmelden vom Programa, Standard-Menü conjunto y ggf. en una klick en z.B. una Button "Benutzer wechseln"  otra vez una Auswahl para reg. Benutzer anbieten.

Und entonces el Menü je después de Rechten otra vez "zusammenbauen" y Mostrar...
 
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
¡Hola miteinander!

Posesiones mein Menü en el Alternative Möglichkeit con el Unit adaptado... Funktioniert! Puedo el Menü en cualquier momento zerstören y neu aufbauen, sin Fehlermeldung! Genial.

@Mario,

Jap, genau así verstehe Yo Logout eigentlich auch Yo mich anfangs a unserem Datenbanksystem en el Geschäft orientiert, en el uno se sólo una Contraseña authentifiziert. Sobald uno en "Logout" va, kommt inmediatamente una Logindialog, para schnellen Benutzerwechsel.
Posesiones lo ahora allerdings así adaptado, como du vorgeschlagen hast:
2 Menüs. Eins con allen Características y Características voluntad después de Rechten adecuado y ausgeblendet y uno, qué una Logout adecuado se y wo uno sólo el Optionen "Beenden" y "Anmelden" ha.

Funzt problemlos ;) Damit es ahora endlich el Función "Als Benutzer ausgeben" posible geworden ;)

Gruess de Bern y todavía una schönen Sonntagnachmittag!
 
12.05.2013  
 




Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

22.251 Views

Untitledvor 0 min.
Manfred Barei08.10.2023
Member 007717917.10.2018
RudiB.27.08.2018
Ernst01.06.2016
Más...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie