- #1
M
McAllister
Guest
Erstmal Hallo, tolles Forum mit vielen Informationen hier.
Ich arbeite seit 1 Woche mit Visual Basic 6 und einer Oracle Datenbank an einer Anwendung zur Verwaltung von Bewerbungsdaten. Leider bin ich noch absoluter Anfänger und habe jetzt ein größeres Problem festgestellt.
Ich habe eine Maske erstellt in der man Testergebnisse als Punkte eintragen kann. Das ganze ist über Adodc mit der Datenbank verbunden. Dann habe ich einen Button speichern, der auch funktioniert. Das heißt die Punktzahlen der Tests werden korrekt in die Datenbank übernommen und beim nächsten Öffnen wieder angezeigt.
Zusätzlich habe ich einen Button Berechnen erstellt. Dieser berechnet die Prozentzahl der errreichten Punkte des jeweiligen Test und auch die Gesamtnote und schreibt diese Infos in die zugehörigen Textfelder. Die Berechnung funktioniert korrekt. Wenn ich aber auf Speichern klicke, kommt zwar keine Fehlermeldung, aber die Daten werden nicht gespeichert, obwohl die Textfelder in die diese Ergebnisse eingetragen werden genauso mit adobc verknüpft sind.
Wenn ich in der leeren Maske die Punkte eingebe und dann auf berechnen gehe, wird wieder alles korrekt angezeigt, wenn ich jetzt speichere werden dann nichtmal die Punkte mehr gespeichert.
Kann irgendjemand helfen? Der Code des Formulars ist folgender (Ich habe noch viele-> drin, weil ich viel probiert habe aber nichts wirklich funktioniert)...
Ich werde Heute öfter hier vorbeischauen, also wenn es noch Fragen gibt, werde ich versuchen diese so schnell wie möglich zu beantworten.
Ich arbeite seit 1 Woche mit Visual Basic 6 und einer Oracle Datenbank an einer Anwendung zur Verwaltung von Bewerbungsdaten. Leider bin ich noch absoluter Anfänger und habe jetzt ein größeres Problem festgestellt.
Ich habe eine Maske erstellt in der man Testergebnisse als Punkte eintragen kann. Das ganze ist über Adodc mit der Datenbank verbunden. Dann habe ich einen Button speichern, der auch funktioniert. Das heißt die Punktzahlen der Tests werden korrekt in die Datenbank übernommen und beim nächsten Öffnen wieder angezeigt.
Zusätzlich habe ich einen Button Berechnen erstellt. Dieser berechnet die Prozentzahl der errreichten Punkte des jeweiligen Test und auch die Gesamtnote und schreibt diese Infos in die zugehörigen Textfelder. Die Berechnung funktioniert korrekt. Wenn ich aber auf Speichern klicke, kommt zwar keine Fehlermeldung, aber die Daten werden nicht gespeichert, obwohl die Textfelder in die diese Ergebnisse eingetragen werden genauso mit adobc verknüpft sind.
Wenn ich in der leeren Maske die Punkte eingebe und dann auf berechnen gehe, wird wieder alles korrekt angezeigt, wenn ich jetzt speichere werden dann nichtmal die Punkte mehr gespeichert.
Kann irgendjemand helfen? Der Code des Formulars ist folgender (Ich habe noch viele-> drin, weil ich viel probiert habe aber nichts wirklich funktioniert)...
Code:
Option Explicit
Private Sub Form_Load()
Dim ID&, lsFeld As ListBox
Dim SQL$, RS1 As ADODB.Recordset, RS2 As ADODB.Recordset
Set lsFeld = frmPersoenliche_Daten.LsJahr
ID = lsFeld.ItemData(lsFeld.ListIndex)
txID.Text = ID
Set RS2 = New ADODB.Recordset
SQL = SELECT b.Name, b.Vorname, g.Bewerber_ID, g.Ausbildungsbeginn, g.Bewerber_NR & _
FROM Bewerber b, Bewerbungen g WHERE b.Bewerber_ID = g.Bewerber_ID AND g.ID = & ID
RS2.Open SQL, conAzubi
Set Adodc2.Recordset = RS2
Set RS1 = New ADODB.Recordset
SQL = select * from bewerbungen where id= & ID
RS1.Open SQL, conAzubi, adOpenStatic, adLockOptimistic
Set Adodc1.Recordset = RS1
End Sub
Private Sub btnBerechnen_Click()
Dim SQL$, SQL2$, RS1 As ADODB.Recordset, RSForm As ADODB.Recordset
Dim PKTA&, PKTM&, PKTS&, PKTG&, JAHR&
Dim PROA#, PROM#, PROS#, PROG#
Dim PROGP$
Set RS1 = New ADODB.Recordset
Set RSForm = Adodc1.Recordset
PKTA = Punkte_allgemein.Text
PKTM = Punkte_Mathe.Text
PKTS = Punkte_Sprache.Text
PKTG = PKTA + PKTM + PKTS
JAHR = Ausbildungsbeginn.Text
SQL = SELECT * FROM Einstellungstest WHERE Jahr = & JAHR
RS1.Open SQL, conAzubi
PROA = RUNDEN(PKTA * 100 / RS1(Punkte_Allgemein), 2)
Prozent_allgemein.Text = PROA
'RSForm(ALLGEMEINER_TEST_PROZENT) = PROA
'PROAG = Replace(PROA, ,, .)
'SQL2 = UPDATE Bewerbungen SET Allgemeiner_Test_Prozent = & PROA & WHERE ID = & txID.Text
'conAzubi.Execute SQL2
'PROM = RUNDEN(PKTM * 100 / RS1(Punkte_Mathematik), 2)
'Prozent_Mathe.Text = PROM
'PROS = RUNDEN(PKTS * 100 / RS1(Punkte_Sprache), 2)
'Prozent_Sprache.Text = PROS
'PROG = RUNDEN(PKTG * 100 / RS1(Punkte_Gesamt), 2)
'Punkte_Gesamt.Text = PKTG
'Prozent_Gesamt.Text = PROG
RS1.Close
'PROGP = Replace(PROG, ,, .)
'SQL = SELECT NOTE FROM Noten WHERE PUNKTE_MAX >= & PROGP & AND PUNKTE_MIN <= & PROGP
'RS1.Open SQL, conAzubi
'Testnote.Text = RS1(Note)
'rs1.Close
End Sub
Private Sub btnSpeichern_Click()
On Error GoTo Fehler
'Dim SQL$, RS1, RS2 As ADODB.Recordset
'Set RS2 = New ADODB.Recordset
'SQL = select Testnote from bewerbungen where id= & txID.Text
'RS2.Open SQL, conAzubi, adOpenStatic, adLockOptimistic
'Set Adodc1.Recordset = RS2(Testnote)
Adodc1.Recordset.Update 'Speichern
Exit Sub
Fehler: MsgBox Err.Description
End Sub
Ich werde Heute öfter hier vorbeischauen, also wenn es noch Fragen gibt, werde ich versuchen diese so schnell wie möglich zu beantworten.