Hallo Leute!
Habe folgendes Problem und ich weiß nicht weiter, hoffe ihr könnt mir weiterhelfen.
Ich habe ein Programm in VBA, Zeugnisnoten (Deutsch, Mathe, Englisch etc.) und die Fehltage einliest, diese dann in einem WordDocument abspeichert.
Ich soll aber jetzt statt dem Speichern in das Wordocument ZUSÄTZLICH die Daten der Schüler+Noten in einer Access-Datenbank speichern bzw. dann auch wieder auslesen können! Der Namen der Schüler soll aus einer Drop-Down Liste ausgewählt werden können, und wenn ich einen neuen Namen eingebe, soll dieser dann automatisch in einer Datenbank gespeichert werden.
Nur kenne ich mich nicht so mit dem Einlesen bzw. Auslesen von Access-Datenbanken aus! Kann mir jemand sagen, wie ich in meinem folgenden Zeugniserstellungsprogramm das Einlesen bzw. Auslesen von Access einbinden kann?
Private Sub OK_Click()
If Not NameÜberprüfen(Me.SchuelerName.Value) Then Exit Sub
If Not HauptfachÜberprüfen(Me.Deutsch.Value) Then Exit Sub
If Not HauptfachÜberprüfen(Me.Englisch.Value) Then Exit Sub
If Not HauptfachÜberprüfen(Me.Mathematik.Value) Then Exit Sub
If Not HauptfachÜberprüfen(Me.Fachtheorie.Value) Then Exit Sub
If Not NoteÜberprüfen(Me.Deutsch.Value) Then Exit Sub
If Not NoteÜberprüfen(Me.Englisch.Value) Then Exit Sub
If Not NoteÜberprüfen(Me.Mathematik.Value) Then Exit Sub
If Not NoteÜberprüfen(Me.Fachtheorie.Value) Then Exit Sub
If Me.Religion.Value <> "" Then
If Not NoteÜberprüfen(Me.Religion.Value) Then Exit Sub
End If
If Me.Sport.Value <> "" Then
If Not NoteÜberprüfen(Me.Sport.Value) Then Exit Sub
End If
Call EinfuegenInWord("TM_SchuelerName", Me.SchuelerName.Value)
Call EinfuegenInWord("TM_Deutsch", WörterUmwandeln(Me.Deutsch.Value))
Call EinfuegenInWord("TM_Englisch", WörterUmwandeln(Me.Englisch.Value))
Call EinfuegenInWord("TM_Mathematik", WörterUmwandeln(Me.Mathematik.Value))
Call EinfuegenInWord("TM_Religion", WörterUmwandeln(Me.Religion.Value))
Call EinfuegenInWord("TM_Sport", WörterUmwandeln(Me.Sport.Value))
Call EinfuegenInWord("TM_Fachtheorie", WörterUmwandeln(Me.Fachtheorie.Value))
If Me.Fehltage.Value = "" Then
Call EinfuegenInWord("TM_Fehltage", "0")
Else
Call EinfuegenInWord("TM_Fehltage", Me.Fehltage.Value)
End If
Unload Me
End Sub
Public Function NameÜberprüfen(SchuelerName As String) As Boolean
If SchuelerName Like "* *" Then
NameÜberprüfen = True
Else
MsgBox "Bitte gib deinen Vor- und Nachnamen ein!", vbOKOnly, "Bitte Eingeben!"
NameÜberprüfen = False
Exit Function
End If
MaxZeichenAnzahl = Len(SchuelerName)
For i = 1 To MaxZeichenAnzahl
Zeichen = Mid(SchuelerName, i, 1)
If IsNumeric(Zeichen) Then
MsgBox "Fehlerhafte Eingabe, der Name enthält eine Zahl!", vbOKOnly
NameÜberprüfen = False
Exit Function
End If
Next
End Function
Public Function NoteÜberprüfen(Note As Variant) As Boolean
If IsNumeric(Note) = False Then
NoteÜberprüfen = False
MsgBox "Bitte gib eine Zahl zwischen 1 und 6 ein!", vbOKOnly
Exit Function
End If
If (Note 0) Then
NoteÜberprüfen = True
Exit Function
End If
If NoteÜberprüfen = False Then
MsgBox "Die Note muss zwischen 1 und 6 liegen!"
Exit Function
End If
End Function
Public Function HauptfachÜberprüfen(Hauptfach As String) As Boolean
If (Hauptfach = "") Then
HauptfachÜberprüfen = False
MsgBox "Es wurden nicht alle Haupfächer eingetragen!", vbOKOnly
Else: HauptfachÜberprüfen = True
End If
End Function
Public Function WörterUmwandeln(Wert As Variant) As Variant
Dim Auswahl As String
Trim (CStr(Wert))
Select Case Wert
Case 1: Auswahl = " 1 - sehr gut - "
Case 2: Auswahl = " 2 - gut -"
Case 3: Auswahl = " 3 - befriedigend - "
Case 4: Auswahl = " 4 - ausreichend - "
Case 5: Auswahl = " 5 - mangelhaft - "
Case 6: Auswahl = " 6 - ungenügend - "
Case Else: Auswahl = " --- "
End Select
WörterUmwandeln = Auswahl
End Function
Private Sub EinfuegenInWord(Textmarke As String, Wert As String)
Selection.GoTo wdGoToBookmark, , , Textmarke
Selection.Text = Wert
End Sub
Private Sub ABBRECHEN_Click()
Unload Me
End Sub |