Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Access
  VBA, Datensätze suchen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  VBA, Datensätze suchen (19075 mal gelesen)
m-troeger
Mitglied
gel. Bauzeichner; Vermessungszeichner, Vermesser im Außendienst, GIS-Erfassung in PARIS


Sehen Sie sich das Profil von m-troeger an!   Senden Sie eine Private Message an m-troeger  Schreiben Sie einen Gästebucheintrag für m-troeger

Beiträge: 295
Registriert: ..

erstellt am: 14. Feb. 2007 22:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

beim verlassen des Feldes JG der TAB1 im Formular
starte ich eine VBA Procedur

dort erhält die Variable WERT_JG den Wert des Feldes JG der TAB1(aktive Tabelle)
WERT_JG = Me!JG

nun möchte ich abtesten ob es in der TAB2 Datensätze gibt bei welchem
der Wert des Feldes GEB = WERT_JG ist
Wenn kein Datensatz gefunden wird dann eine Meldung
Wenn mehr als ein Datensatz gefunden wird dann eine andere Meldung
Wenn nur ein Datensatz gefunden wird dann soll eine Variable
WERT_KL = den Wert aus dem Feld KL dieses Datensatzes der TAB2 erhalten

  Recordset?  

wäre schön, wenn ihr mir da weiterhelfen könntet

------------------
Servus,
Mario   

www.the-skier.de

[Diese Nachricht wurde von m-troeger am 14. Feb. 2007 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

BloodyMess
Mitglied
Applicationingenieur


Sehen Sie sich das Profil von BloodyMess an!   Senden Sie eine Private Message an BloodyMess  Schreiben Sie einen Gästebucheintrag für BloodyMess

Beiträge: 604
Registriert: 06.06.2002

AutoCAD Map 3D 2005
Win XP pro

erstellt am: 15. Feb. 2007 13:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für m-troeger 10 Unities + Antwort hilfreich

Hallo Mario,

sowas in der Art sollte Dir weiterhelfen ...

Code:
Option Explicit

Sub test()

Dim dbs As Object
Set dbs = CurrentDb

Dim strSQL As String
strSQL = "SELECT count(Tabelle1.value) FROM Tabelle1 WHERE Tabelle1.value = 'testers';"

Dim rst As Object
Set rst = dbs.OpenRecordset(strSQL)

'' hier kommt immer die Anzahl zurück, auch wenn nur '0' drinnensteht
Dim sCountValue As String
sCountValue = rst.Fields.Item(0).Value

Select Case sCountValue
    Case "0"
        '' mache dies
    Case "1"
        '' mache das
    Case Else
        '' mache jenes
End Select

Set rst = Nothing
Set dbs = Nothing

End Sub


Grüssle Lars

------------------

"Soll es funktionieren oder darf es auch etwas von Siemens sein?" ...

http://validator.w3.org/check?uri=http://ww3.cad.de/cgi-bin/ubb/Ultimate.cgi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

m-troeger
Mitglied
gel. Bauzeichner; Vermessungszeichner, Vermesser im Außendienst, GIS-Erfassung in PARIS


Sehen Sie sich das Profil von m-troeger an!   Senden Sie eine Private Message an m-troeger  Schreiben Sie einen Gästebucheintrag für m-troeger

Beiträge: 295
Registriert: ..

erstellt am: 15. Feb. 2007 19:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke Lars,

das Funktioniert ersmal wunderbar
folgende Zeile nochmal zum besseren Verständnis

Code:

strSQL = "SELECT count(Tabellenname.Feldname) FROM Tabellenname WHERE Tabellenname.Feldname = 'Suchwert';"


wenn ich das so richtig verstanden habe

nun aber noch bei Case "1"

Zitat:
Wenn nur ein Datensatz gefunden wird dann soll eine Variable
WERT_KL = den Wert aus dem Feld KL dieses Datensatzes der TAB2 erhalten


hier möchte ich den Wert aus Feld KL des gefundenen Datensatzes lesen

------------------
Servus,
Mario  

www.the-skier.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

BloodyMess
Mitglied
Applicationingenieur


Sehen Sie sich das Profil von BloodyMess an!   Senden Sie eine Private Message an BloodyMess  Schreiben Sie einen Gästebucheintrag für BloodyMess

Beiträge: 604
Registriert: 06.06.2002

AutoCAD Map 3D 2005
Win XP pro

erstellt am: 20. Feb. 2007 09:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für m-troeger 10 Unities + Antwort hilfreich

ungetestet - sollte aber funktionieren!

Code:
Option Explicit

Sub test()

Dim dbs As Object
Set dbs = CurrentDb

Dim strSQL As String
strSQL = "SELECT count(Tabellenname.Feldname), Tabellenname.KL FROM Tabellenname WHERE Tabellenname.Feldname = 'Suchwert';"

Dim rst As Object
Set rst = dbs.OpenRecordset(strSQL)

'' hier kommt immer die Anzahl zurück, auch wenn nur '0' drinnensteht
Dim sCountValue As String
sCountValue = rst.Fields.Item(0).Value

Select Case sCountValue
    Case "0"
        '' mache dies
    Case "1"
        '' mache das
        Dim WERT_KL as String
        WERT_KL = CStr(rst.Fields.Item(1).Value)

    Case Else
        '' mache jenes
End Select

Set rst = Nothing
Set dbs = Nothing

End Sub


Grüssle Lars

------------------
   

"Soll es funktionieren oder darf es auch etwas von Siemens sein?" ...

http://validator.w3.org/check?uri=http://ww3.cad.de/cgi-bin/ubb/Ultimate.cgi

[Diese Nachricht wurde von BloodyMess am 20. Feb. 2007 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

m-troeger
Mitglied
gel. Bauzeichner; Vermessungszeichner, Vermesser im Außendienst, GIS-Erfassung in PARIS


Sehen Sie sich das Profil von m-troeger an!   Senden Sie eine Private Message an m-troeger  Schreiben Sie einen Gästebucheintrag für m-troeger

Beiträge: 295
Registriert: ..

erstellt am: 20. Feb. 2007 19:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Lars,

bin jetzt zu folgender Lösung gekommen

Code:

Option Explicit
Sub test()

Dim dbs As Object
Set dbs = CurrentDb

Dim strSQL As String
strSQL = "SELECT count(Tabellenname.Feldname) FROM Tabellenname WHERE
Tabellenname.Feldname = 'Suchwert';"

Dim rst As Object
Set rst = dbs.OpenRecordset(strSQL)

'' hier kommt immer die Anzahl zurück, auch wenn nur '0' drinnensteht
Dim sCountValue As String
sCountValue = rst.Fields.Item(0).Value

Select Case sCountValue
    Case "0"
        '' mache dies
    Case "1"
        '' mache das
        Dim WERT_KL as String
        WERT_KL = DLookup("[Feldname]", "Tabellenname")
    Case Else
        '' mache jenes
End Select

Set rst = Nothing
Set dbs = Nothing

End Sub


------------------
Servus,
Mario  

www.the-skier.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

BloodyMess
Mitglied
Applicationingenieur


Sehen Sie sich das Profil von BloodyMess an!   Senden Sie eine Private Message an BloodyMess  Schreiben Sie einen Gästebucheintrag für BloodyMess

Beiträge: 604
Registriert: 06.06.2002

AutoCAD Map 3D 2005
Win XP pro

erstellt am: 21. Feb. 2007 10:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für m-troeger 10 Unities + Antwort hilfreich

Hallo Mario,

DLookUp ist, wenn ich es richtig verstanden habe, nichts anderes als ein SELECT-Statement. Das heisst Du machst im Hintergrund eine erneute SQL-Abfrage auf die Datenbank.

Wenn die Möglichkeit besteht alles mit einer Abfrage zu erschlagen, dann würde ich das auch machen.

Referenz:  http://www.techonthenet.com/access/functions/domain/dlookup.php

Grüssle Lars

------------------

"Soll es funktionieren oder darf es auch etwas von Siemens sein?" ...

http://validator.w3.org/check?uri=http://ww3.cad.de/cgi-bin/ubb/Ultimate.cgi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

m-troeger
Mitglied
gel. Bauzeichner; Vermessungszeichner, Vermesser im Außendienst, GIS-Erfassung in PARIS


Sehen Sie sich das Profil von m-troeger an!   Senden Sie eine Private Message an m-troeger  Schreiben Sie einen Gästebucheintrag für m-troeger

Beiträge: 295
Registriert: ..

erstellt am: 21. Feb. 2007 21:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Lars,

Code:
strSQL = "SELECT count(Tabellenname.Feldname), Tabellenname.KL FROM Tabellenname WHERE Tabellenname.Feldname = 'Suchwert';"


funktioniert bei mir aber nicht, Fehler 3122

Sie wollten eine Abfrage ausführen, die den angegebenen Ausdruck nicht als Teil der Aggregatfunktion einschließt.


------------------
Servus,
Mario  

www.the-skier.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

BloodyMess
Mitglied
Applicationingenieur


Sehen Sie sich das Profil von BloodyMess an!   Senden Sie eine Private Message an BloodyMess  Schreiben Sie einen Gästebucheintrag für BloodyMess

Beiträge: 604
Registriert: 06.06.2002

AutoCAD Map 3D 2005
Win XP pro

erstellt am: 22. Feb. 2007 16:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für m-troeger 10 Unities + Antwort hilfreich

Füge mal ein 'GROUP by Tabellenname.Feldname' an.

------------------

"Soll es funktionieren oder darf es auch etwas von Siemens sein?" ...

http://validator.w3.org/check?uri=http://ww3.cad.de/cgi-bin/ubb/Ultimate.cgi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

m-troeger
Mitglied
gel. Bauzeichner; Vermessungszeichner, Vermesser im Außendienst, GIS-Erfassung in PARIS


Sehen Sie sich das Profil von m-troeger an!   Senden Sie eine Private Message an m-troeger  Schreiben Sie einen Gästebucheintrag für m-troeger

Beiträge: 295
Registriert: ..

erstellt am: 22. Feb. 2007 21:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Test-DB.zip

 
Hallo Lars

ich bekomm es einfach nicht hin 
vielleicht kanst du dir die mdb mal ansehen
siehe auch erläuterung.txt

wäre echt nett 

------------------
Servus,
Mario  

www.the-skier.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

m-troeger
Mitglied
gel. Bauzeichner; Vermessungszeichner, Vermesser im Außendienst, GIS-Erfassung in PARIS


Sehen Sie sich das Profil von m-troeger an!   Senden Sie eine Private Message an m-troeger  Schreiben Sie einen Gästebucheintrag für m-troeger

Beiträge: 295
Registriert: ..

ACAD14 und 2005;
MAP4; GeoCAD; PARIS;
( Vermessung )

erstellt am: 22. Feb. 2007 23:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Lars,

ich habs nun fast   
Formular KLASSE funktioniert jetzt
neuer Code

Code:

'      in VBA Formular FRM_KLASSE
Private Sub BTN_JGBERECHNEN_Click()
Dim JAHR, ALTERJ, ALTERAE As Variant
Dim MEID As Single
MEID = Me!ID
JAHR = FRM_KLASSE_TXT_JAHR.Value
ALTERJ = FRM_KLASSE_TXT_ALTERJ.Value
ALTERAE = FRM_KLASSE_TXT_ALTERAE.Value

If ALTERAE <> "" And ALTERJ <> "" And JAHR <> "" Then
ALTERJ = JAHR - ALTERJ
ALTERAE = JAHR - ALTERAE
Dim s1, s2 As String
s1 = "Update KLASSE SET JG_von = " & ALTERJ & " WHERE ID= " & MEID & " "
s2 = "Update KLASSE SET JG_bis = " & ALTERAE & " WHERE ID= " & MEID & " "
DoCmd.SetWarnings False
DoCmd.RunSQL s1
DoCmd.RunSQL s2
DoCmd.SetWarnings True
Else
    MsgBox "Es konnte kein Jahrgang berechnet werden. Prüfen Sie Ihre Eingaben!, vbOKOnly"
End If
End Sub



einige neue Codzeilen im Formular STARTER
Code:

strSQL = "SELECT count(KLASSE.KLASSE),KLASSE.KLASSE FROM KLASSE WHERE KLASSE.JG_von <= '" & WERT_JG & "' AND KLASSE.JG_bis >= '" & WERT_JG & "' And KLASSE.SEX = '" & WERT_JG_SEX & "' GROUP by KLASSE.KLASSE ; "
Dim rst As Object
Set rst = dbs.OpenRecordset(strSQL)
'' hier kommt immer die Anzahl zurück, auch wenn nur '0' drinnensteht
Dim sCountValue As String
sCountValue = rst.Fields.Item(0).Value
Select Case sCountValue
    Case "0"
        MsgBox "Kein DS gefunden, prüfen Sie die Klassenzuordnung", vbOKOnly
    Case "1"
' Hier soll der WERT von KLASSE.SEX in das Feld KLASSE des aktuellen DS schreiben werden
        WERT_KL = CStr(rst.Fields.Item(1).Value)
        Dim s1 As String
        Me!KLASSE = WERT_KL
    Case Else
        MsgBox "Mehr DS gefunden, prüfen Sie die Klassenzuordnung", vbOKOnly
End Select

wenn ich nun aber ein anderes Feld im Formular STARTER editiere tritt ein neuer Fehler auf 

Der Suchschlüssel wurde in keinem Datensatz gefunden. (Fehler 3709)
Dieser Fehler tritt auf, wenn eine ISAM SEEK ausgeführt wird und sich keine übereinstimmenden Werte im Index befinden.

Vielleicht habe ich durch die Bastelei aber auch irgend nen Mist in die Tabelle gehauen, besser ich mach sie nochmal neu.

------------------
Servus,
Mario  

www.the-skier.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

BloodyMess
Mitglied
Applicationingenieur


Sehen Sie sich das Profil von BloodyMess an!   Senden Sie eine Private Message an BloodyMess  Schreiben Sie einen Gästebucheintrag für BloodyMess

Beiträge: 604
Registriert: 06.06.2002

AutoCAD Map 3D 2005
Win XP pro

erstellt am: 23. Feb. 2007 20:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für m-troeger 10 Unities + Antwort hilfreich

Hi Mario,

ich nehm die Datenbank am Sonntag mal auseinander. Vielleicht könntest Du bis dahin die CodeFragmente noch ein bisschen auskommentieren.

Beim ersten drüberschauen scheint er die IDs beim Speichern durcheinander zu werfen, aber ich muss es mir genauer anschauen!

so long Lars

------------------

"Soll es funktionieren oder darf es auch etwas von Siemens sein?" ...

http://validator.w3.org/check?uri=http://ww3.cad.de/cgi-bin/ubb/Ultimate.cgi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

BloodyMess
Mitglied
Applicationingenieur


Sehen Sie sich das Profil von BloodyMess an!   Senden Sie eine Private Message an BloodyMess  Schreiben Sie einen Gästebucheintrag für BloodyMess

Beiträge: 604
Registriert: 06.06.2002

AutoCAD Map 3D 2005
Win XP pro

erstellt am: 25. Feb. 2007 21:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für m-troeger 10 Unities + Antwort hilfreich


TEST.zip

 
Habe es nach bestem Wissen und Gewissen implementiert.
Fehler musst Du selber behandeln!

Beschäftige Dich mit Datenbanken und Programmieren! Mit dem jetzigen Konzept kommst Du nicht weit!

Grüssle Lars

------------------

"Soll es funktionieren oder darf es auch etwas von Siemens sein?" ...

http://validator.w3.org/check?uri=http://ww3.cad.de/cgi-bin/ubb/Ultimate.cgi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

m-troeger
Mitglied
gel. Bauzeichner; Vermessungszeichner, Vermesser im Außendienst, GIS-Erfassung in PARIS


Sehen Sie sich das Profil von m-troeger an!   Senden Sie eine Private Message an m-troeger  Schreiben Sie einen Gästebucheintrag für m-troeger

Beiträge: 295
Registriert: ..

erstellt am: 26. Feb. 2007 15:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Lars,

vielen Dank, nun hast du dir auch noch das WE versaut.
Ich habe am WE leider keinen PC (Pendler).
Mit dem lernen von DB und Prog. hast du ja recht, aber mir fehlt derzeit noch etwas Lektüre, und so sehr oft benötige ich DB's auch nicht.

Ich werde mich nun aber mit deinem Code auseinander setzen.
ich denke ich werde dadurch net dümmer.

vielen Dank nochmals

------------------
Servus,
Mario  

www.the-skier.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

m-troeger
Mitglied
gel. Bauzeichner; Vermessungszeichner, Vermesser im Außendienst, GIS-Erfassung in PARIS


Sehen Sie sich das Profil von m-troeger an!   Senden Sie eine Private Message an m-troeger  Schreiben Sie einen Gästebucheintrag für m-troeger

Beiträge: 295
Registriert: ..

ACAD14 und 2005;
MAP4; GeoCAD; PARIS;
( Vermessung )

erstellt am: 19. Mrz. 2007 22:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

ich habe nun im Formular FRM_STARTER noc etwas geändert, um mir ein recordset zu sparen

Code alt:

Code:
'' in die tabelle klasse schauen, ob das geburtsjahr irgendwo in die definition reinpasst
Dim dbs As Object
Set dbs = CurrentDb

Dim strSQL As String
strSQL = "SELECT count(klasse.jg_von) " & _
        "FROM klasse " & _
        "WHERE klasse.jg_von <= '" & sJahrgang & "' " & _
        "AND klasse.jg_bis >= '" & sJahrgang & "' " & _
        "AND klasse.sex = '" & sGeschlecht & "';"

Dim rst As Object
Set rst = dbs.OpenRecordset(strSQL)

'' hier kommt immer die Anzahl zurück, auch wenn nur '0' drinnensteht
Dim sCountValue As String
sCountValue = rst.Fields.Item(0).Value

Select Case sCountValue
    Case "0"
        MsgBox "Es gibt keine entsprechende Klasse!", vbCritical, "E R R O R"
   
    Case "1"
        '' hole dir die Klasse
        strSQL = "SELECT klasse.klasse " & _
                "FROM klasse " & _
                "WHERE klasse.jg_von <= '" & sJahrgang & "' " & _
                "AND klasse.jg_bis >= '" & sJahrgang & "' " & _
                "AND klasse.sex = '" & sGeschlecht & "';"
       
        Set rst = dbs.OpenRecordset(strSQL)
       
        Dim sKlasse As String
        sKlasse = rst.Fields.Item(0).Value
       
        '' mache ein update auf den datensatz
        Dim sId As String
        sId = Me.ID

        strSQL = "UPDATE starter SET klasse = '" & sKlasse & "' WHERE ID = " & sId & ";"
        DoCmd.RunSQL (strSQL)
        DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70
    Case Else
        MsgBox "Es gibt mehrere identische Klassen!", vbCritical, "E R R O R"
End Select

Set rst = Nothing
Set dbs = Nothing


Code neu:

Code:
'' in die tabelle klasse schauen, ob das geburtsjahr irgendwo in die definition reinpasst
Dim dbs As DAO.Database
Set dbs = CurrentDb

Dim strSQL As String
strSQL = "SELECT * FROM klasse " & _
        "WHERE klasse.jg_von <= '" & sJahrgang & "' " & _
        "AND klasse.jg_bis >= '" & sJahrgang & "' " & _
        "AND klasse.sex = '" & sGeschlecht & "';"

Dim rst As DAO.Recordset
Set rst = dbs.OpenRecordset(strSQL)
Dim rst_count As Variant

If Not rst.BOF Then  'nur wenn überhaupt DS vorhanden sind
  rst.MoveLast 'wichtig, um die korrekte Anzahl an DS zu erhalten
  'MsgBox rst.RecordCount
  If rst.RecordCount = 1 Then
        Dim sKlasse As String
        sKlasse = rst.Fields.Item(1).Value
       
        '' mache ein update auf den datensatz
        Dim sId As String
        sId = Me.ID
   
        strSQL = "UPDATE starter SET klasse = '" & sKlasse & "' WHERE ID = " & sId & ";"
        DoCmd.RunSQL (strSQL)
        DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70
    Else
            MsgBox "Es gibt mehrere identische Klassen!", vbCritical, "E R R O R"
    End If
   
    Else
      MsgBox "Es wurde keine entsprechnde Klasse gefunden!", vbCritical, "E R R O R"

End If

Set rst = Nothing
Set dbs = Nothing


------------------
Servus,
Mario  

www.the-skier.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP



CAD Designer (m/f/d)

Exyte is a global leader in the design, engineering and delivery of facilities for high-tech industries. With a history of more than 100 years, the company has developed a unique expertise in controlled and regulated environments. Exyte has a truly global footprint, serving the most technically demanding clients in markets such as semiconductors, batteries, pharmaceuticals, biotechnology, and data centers....

Anzeige ansehenTechnischer Zeichner, Bauzeichner
BloodyMess
Mitglied
Applicationingenieur


Sehen Sie sich das Profil von BloodyMess an!   Senden Sie eine Private Message an BloodyMess  Schreiben Sie einen Gästebucheintrag für BloodyMess

Beiträge: 604
Registriert: 06.06.2002

AutoCAD Map 3D 2005
Win XP pro

erstellt am: 20. Mrz. 2007 08:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für m-troeger 10 Unities + Antwort hilfreich

Wenn's übersichtlicher ist .. 

------------------

"Soll es funktionieren oder darf es auch etwas von Siemens sein?" ...

http://validator.w3.org/check?uri=http://ww3.cad.de/cgi-bin/ubb/Ultimate.cgi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz