Hallo Leute,
seit Tagen versuche ich nun vergeblich einen Raumplan aus einer MS-Access Tabelle über SQL im sevDataGrid anzuzueigen.
Vereinfacht dargestellt, beinhaltet die Tabelle die Felder RAUM, TAG und LEHRERHAUPTUNTERRICHT (=Name der Lehrer).
Das sevDataGrid sollte laut Dieter in meinem Fall besser im List-Mode fungieren, so dass ich die AddItem-Methode verwenden kann.
Meine Versuche scheitern dahingehend, dass mir alle Lehrer in der ersten Spalte untereinander gelistet werden und nicht in die einzelnen Spalten der Wochentage.
Nun habe ich versucht, die einzelnen Zeilen und Spalten über die Funktion
Grid.Text(row,col) festzulegen - allerdings werden jetzt keine Werte mehr angezeigt, sondern nur noch leere Spalten ....
Hier mein Code soweit:
Private Sub Command1_Click()
Dim nTreffer_MO As Long
Dim nTreffer_DI As Long
Dim nTreffer_MI As Long
Dim nTreffer_DO As Long
Dim nTreffer_FR As Long
Dim nTreffer_SA As Long
MousePointer = 11
frmMain.lblInformation.Caption = "BITTE WARTEN ..."
Set DB = Workspaces(0).OpenDatabase(App.Path & "\PRIMUS_2004.MDB", False, False)
SQL = "SELECT DISTINCT Tag, LehrerHauptunterricht FROM Schüler"
Set oRecordset = DB.OpenRecordset(SQL)
'------------------------------------------------------------------------------
' ---------------------------------------------------------------------
'sevDataGrid
'------------------------------------------------------------------------------
' ---------------------------------------------------------------------
With Grid3
.Clear (True)
' autom. Neuzeichnen ausschalten
.LockUpdate True
.FixedCol = True
.ColumnAdd "Montag", "Montag", 2000, ALIGNMENT_CENTER, True, TYP_TEXT, _
ALIGNMENT_CENTER
.ColumnAdd "Dienstag", "Dienstag", 2000, ALIGNMENT_CENTER, True, TYP_TEXT, _
ALIGNMENT_CENTER
.ColumnAdd "Mittwoch", "Mittwoch", 2000, ALIGNMENT_CENTER, True, TYP_TEXT, _
ALIGNMENT_CENTER
.ColumnAdd "Donnerstag", "Donnerstag", 2000, ALIGNMENT_CENTER, True, TYP_TEXT, _
ALIGNMENT_CENTER
.ColumnAdd "Freitag", "Freitag", 2000, ALIGNMENT_CENTER, True, TYP_TEXT, _
ALIGNMENT_CENTER
.ColumnAdd "Samstag", "Samstag", 2000, ALIGNMENT_CENTER, True, TYP_TEXT, _
ALIGNMENT_CENTER
.ColumnAdd "Sonntag", "Sonntag", 2000, ALIGNMENT_CENTER, True, TYP_TEXT, _
ALIGNMENT_CENTER
nTreffer_MO = 0
nTreffer_DI = 0
nTreffer_MI = 0
nTreffer_DO = 0
nTreffer_FR = 0
nTreffer_SA = 0
.DataMode = Mode_List
Do While Not oRecordset.EOF
If oRecordset.Fields("Tag").Value = "DI" Then
nTreffer_DI = nTreffer_DI + 1
Grid3.Text(nTreffer_DI, 2) = oRecordset.Fields("Lehrerhauptunterricht").Value
Debug.Print "DI: " & nTreffer_DI & " " & oRecordset.Fields( _
"Lehrerhauptunterricht").Value
ElseIf oRecordset.Fields("Tag").Value = "DO" Then
nTreffer_DO = nTreffer_DO + 1
Grid3.Text(nTreffer_DO, 4) = oRecordset.Fields("Lehrerhauptunterricht").Value
Debug.Print "DO: " & nTreffer_DO & " " & oRecordset.Fields( _
"Lehrerhauptunterricht").Value
ElseIf oRecordset.Fields("Tag").Value = "FR" Then
nTreffer_FR = nTreffer_FR + 1
Grid3.Text(nTreffer_FR, 5) = oRecordset.Fields("Lehrerhauptunterricht").Value
Debug.Print "FR: " & nTreffer_FR & " " & oRecordset.Fields( _
"Lehrerhauptunterricht").Value
ElseIf oRecordset.Fields("Tag").Value = "MI" Then
nTreffer_MI = nTreffer_MI + 1
Grid3.Text(nTreffer_MI, 3) = oRecordset.Fields("Lehrerhauptunterricht").Value
Debug.Print "MI: " & nTreffer_MI & " " & oRecordset.Fields( _
"Lehrerhauptunterricht").Value
ElseIf oRecordset.Fields("Tag").Value = "MO" Then
nTreffer_MO = nTreffer_MO + 1
Grid3.Text(nTreffer_MO, 1) = oRecordset.Fields("Lehrerhauptunterricht").Value
Debug.Print "MO: " & nTreffer_MO & " " & oRecordset.Fields( _
"Lehrerhauptunterricht").Value
ElseIf oRecordset.Fields("Tag").Value = "SA" Then
nTreffer_SA = nTreffer_SA + 1
Grid3.Text(nTreffer_SA, 6) = oRecordset.Fields("Lehrerhauptunterricht").Value
Debug.Print "SA: " & nTreffer_SA & " " & oRecordset.Fields( _
"Lehrerhauptunterricht").Value
End If
oRecordset.MoveNext
Loop
.LockUpdate False
.Refresh
.Row = 1
End With
'------------------------------------------------------------------------------
' -----------------------------------------
oRecordset.Close
Set oRecordset = Nothing
'------------------------------------------------------------------------------
' ----------------------------------------- Über Debug.Print erhalte ich testweise die Anzahl aller LEHRER pro TAG, dargestellt wird im Grid allerdings gar nichts. Die AddItem-Methode schreibt mir wie gesagt alles untereinander in eine Spalte. Vielleicht hat jemand eine Idee, wie man dieses Problem lösen könnte?
- mag - |