collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 49
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 0

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 13913
  • stats Beiträge insgesamt: 65793
  • stats Themen insgesamt: 8879
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: VBA oder SQL?  (Gelesen 8829 mal)

Offline Klausurenverwaltung

  • Newbie
  • Beiträge: 18
VBA oder SQL?
« am: Mai 26, 2010, 10:32:49 »
Hallo!  :)
Ich habe zur Zeit ein Access-Projekt am laufen, zu dem Thema Klausurenverwaltung.
Dabei habe ich eine wichtige Frage, wo ich Unterstützung gebrauchen könnte.

Die Ausgangslage:

Ich habe folgende Tabellen:

Fach
Fach-Nr.
Fachname
usw

Prüfung
Prüfungs-Nr.
Fach-Nr.
usw

Teilnahme
Matrikel-Nr
Prüfungs-Nr
Note

Daraus habe ich folgende Abfrage mit folgenden Ergebnis:
[Die Matrikel-Nr wird am Anfang der Abfrage eingegeben und alle Noten werden aufgelistet]

Matrikel-Nr - Prüfungs-Nr - Fach-Nr - Fachname - Note
1100             108                100         Mathe 1      5,0
1100             400                100         Mathe 1      5,0
1100             450                100         Mathe 1      2,0
1100             500                101         Mathe 2      3,0

Ich versuche jetzt eine neue Spalte zu erstellen, bei denen der Versuch gezählt wird.
Sie sollte also anzeigen, jetzt bei dem Beispiel:

Versuch
1
2
3
1

Ist das mit SQL realisierbar, oder muss ich VBA benutzen?
Und wie setze ich es am besten um?

Vielen Dank für Eure Hilfe! :)
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23265
Re: VBA oder SQL?
« Antwort #1 am: Mai 26, 2010, 11:26:25 »
Hallo,



welche Aussagekraft (Bedeutung) soll der Wert "Versuch" denn haben?

In Deinem Beispiel bedeutet der lediglich eine laufende Nr innerhalb der Gruppe "Fachnummer" ( und bezogen auf eine Martikelnummer).


Eine solche laufende Nr wäre am einfachsten in einem Bericht realisierbar.


www.donkarl.com/?FAQ5.16


(btw: 
-- auf Leer- und Sonderzeichen in Objektnamen DRINGEND verzichten.
-- SQL (Abfragen, die auf Tabellenwerte zugreifen) brauchst Du IMMER, VBA (nur) dann, wenn Du die durch SQL gelieferten Werte in solcher Weise noch weiterverarbeiten willst, die SQL an sich nicht gleich erledigen kann. )

Offline Klausurenverwaltung

  • Newbie
  • Beiträge: 18
Re: VBA oder SQL?
« Antwort #2 am: Mai 26, 2010, 11:38:33 »
Vielen Dank für die Antwort!

Aber in einem Bericht kämen die Versuche zu spät.
Gebraucht werden sie vorher schon, da man z.B. gewisse Klausuren nur 3x schreiben darf.
Wenn sich jemand für eine Klausur anmelden möchte, muss vorher geschaut werden, um den wievielten Versuch es sich handelt.
Wenn er schon 3x durchgefallen ist, darf er sich nicht anmelden.

Geplant war halt die oben genannte Abfrage, allerdings habe ich die Versuchsanzahl noch nicht so zu meinen Wünschen hinbekomen...
 

Offline accessundich

  • Access Guru
  • ****
  • Beiträge: 1347
Re: VBA oder SQL?
« Antwort #3 am: Mai 26, 2010, 11:57:20 »
Das wäre mir eine weitere Spalte "Versuche" in der Tabelle "Teilnahme" wert, die ich während der Formulareingabe automatisiert ausfüllen würde.
Ein einfaches DLookUp mit den entsprechenden Kriterien würde dann genügen, diese Spalte automatisiert auszufüllen.
Entsprechend könnte man in der Tabelle "Fach" noch eine Spalte "ZulaessigeVersuche" einbauen, so dass man nach Eingabe in die Tabelle "Teilnahme" automatisiert eine Prüfung vornehmen könnte.

Nur mal so gedacht.

Viel Erfolg
Andi
---
Ich stelle keine komischen Fragen: Ich bin komisch.
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23265
Re: VBA oder SQL?
« Antwort #4 am: Mai 26, 2010, 12:48:32 »
Hallo,

die Spalte "ZulässigeVersuche" wäre m. E. in Tabelle "Fach" sinnvoll(er), wenn denn dieser Wert tatsächlich unterschiedlich pro "Fach" sein kann.

Weiterhin: Woher weiß man, bei welcher Note ein Fach (bzw. eine Prüfung) nicht bestanden wurde?


"Wenn sich jemand für eine Klausur anmelden möchte, muss vorher geschaut werden, um den wievielten Versuch es sich handelt. "

etwa so mit diesen  Tabellen/Daten:




Dim lngMatrikelnr as Long, lngFachNr as Long

lngMatrikelnr =1100

lngFachNr  =100
if Dcount("*","Teilnahme","[Matrikel-Nr]= " & lngMatrikelnr & " and [Fach-Nr] = " & lngFachNr) >=3 Then
Msgbox "keine weitere Anmeldung für FachNr " & lngFachr   & " von MatrikelNr & lngMatrikelNr & " erlaubt" 
End If

Offline accessundich

  • Access Guru
  • ****
  • Beiträge: 1347
Re: VBA oder SQL?
« Antwort #5 am: Mai 26, 2010, 12:57:26 »
Zitat
Weiterhin: Woher weiß man, bei welcher Note ein Fach (bzw. eine Prüfung) nicht bestanden wurde?
Ich denke mal, dass 5 und 6 als nicht bestanden gelten. Ansonsten müsste sich hier der TO zu äußern.

Zitat
die Spalte "ZulässigeVersuche" wäre m. E. in Tabelle "Fach" sinnvoll(er), wenn denn dieser Wert tatsächlich unterschiedlich pro "Fach" sein kann.
Hatte ich ja geschrieben. Wenn er dies tut, braucht es dann auch keine Änderung in der Tabelle "Teilnahme", da man dann rechnerisch sich einen Überblick verschaffen kann.

Hoffe, dass es am Bodensee schöner ist als bei uns um verregneten Frankfurt.
Grüß Dich Franz
Andi
---
Ich stelle keine komischen Fragen: Ich bin komisch.
 

Offline Klausurenverwaltung

  • Newbie
  • Beiträge: 18
Re: VBA oder SQL?
« Antwort #6 am: Mai 26, 2010, 13:10:51 »
zulässige Fachversuche sind in der Tabelle "Fach" realisiert.
Habe halt erstmal die wichtigsten Attribute der einzelnen Tabellen aufgelistet.
Oder besser gesagt die, die in der Abfrage gebraucht werden.

Unser Projekt hatte auch erst das Attribut "Versuch" in der Tabelle Teilnahme.
Wurde allerdings von unserem Prof nicht erwünscht, sollte anders realisiert werden...

Zum bestehen muss eine bessere Note als 5,0 erreicht werden,
also mindestens 4,0.
Ich versuche gerade die Dcount-Funktion zu erstellen.
Nochmals danke für die promte Hilfe! :)
 

Offline Klausurenverwaltung

  • Newbie
  • Beiträge: 18
Re: VBA oder SQL?
« Antwort #7 am: Mai 26, 2010, 14:23:02 »
Mit der Dcount-Funktion, das sieht schon gar nicht so verkehrt aus.
Allerdings habe ich noch ein Problem:

Die Fach-Nr ist nicht in der Tabelle "Teilnahme", sondern in "Fach".
Kann ich die Dcout-Funkton so benutzen, dass er beide Werte aus den verschiedenen Tabellen zählt.
Oder wie ist das mit einer Abfrage realisierbar?
 

Offline accessundich

  • Access Guru
  • ****
  • Beiträge: 1347
Re: VBA oder SQL?
« Antwort #8 am: Mai 26, 2010, 14:30:37 »
Hi,

erstelle Dir doch eine entsprechende Abfrage mit dem für Dich wichtigen Kriterienteil und dann:
XYZ = Dcount("*","qrygespeichert") Der Kriterienteil wurde ja bereits in der gespeicherten Abfrage vollzogen, so dass hier der Kriterienteil entfallen kann.

Ansonsten Abfrage ohne Kriterienteil und dann abspeichern und den Kriterienteil dann immer an DCOUNT ranhängen.

Viel Erfolg
Andi
---
Ich stelle keine komischen Fragen: Ich bin komisch.
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23265
Re: VBA oder SQL?
« Antwort #9 am: Mai 26, 2010, 14:34:05 »
Hallo,

@Andi:  grüß Dich..

Habe mich verlesen und "Teilnahme" mit "Fach" in Deinem Posting verwechselt.   Das kommt daher, dass ich es nur mit Sonnenbrille lesen kann, weil bei uns die Sonne scheint und mir die Hitze meine Gedanken bremst  .. ;D

@Klausurenverwaltung:

Erstell eine Tabelle über die beteiligten Tabellen und mit passender Verknüpfung. Diese Abfrage benutzt Du in der DCount-Funktion.

Offline accessundich

  • Access Guru
  • ****
  • Beiträge: 1347
Re: VBA oder SQL?
« Antwort #10 am: Mai 26, 2010, 14:37:09 »
@Franz
Na dann genieße mal die Sonne.

Mit einer gespeicherten Grundabfrage hätte er ja eine entsprechende Tabelle mit der gewünschten Ergebnismenge und darauf kann er ja dann den DCount entsprechend anwenden und durch weitere Kriterien dessen Ergebnismenge einschränken. Nur mal so angedacht, da ich Abfragen in dieser Form sehr flexibel finde. Meine Meinung  ;D

Viele Grüße an den hoffentlich noch sonnigen Bodensee
Andi
---
Ich stelle keine komischen Fragen: Ich bin komisch.
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23265
Re: VBA oder SQL?
« Antwort #11 am: Mai 26, 2010, 15:00:20 »
Hallo,

ja, so ist es, mit der Abfrage wie auch mit der Sonne..    :D

OT:
Ich geh jetzt einen Kaffee trinken. Einen Kuchen gibt es auch noch. Die Sonne scheint mir auf den Bauch und somit ist der Tag gerettet.    8)