Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  Abfragen-Problem MS-Access

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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
  
PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
Autor Thema:  Abfragen-Problem MS-Access (1048 mal gelesen)
pistolpete1
Mitglied
Student


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

Beiträge: 102
Registriert: 06.01.2007

erstellt am: 30. Apr. 2008 19:37    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 Forum!

Ich habe eine Verbindung zu MS-Access hergestellt und möchte kann auch ein "einfaches" SELECT absetzen. Wenn ich folgendes Select absetzen will:

SELECT Count(s.Pos) AS anz FROM zeichnungsliste AS z INNER JOIN schachtliste AS s ON z.Dateinummer=s.Dateinummer WHERE (((z.Dateiname) Like '*TV_Skizze_Test St. Irgendwo.dwg') AND ((s.Pos)='1')) GROUP BY s.Pos;

bekomme ich ständig EOF! Wenn ich allerdings die Abfrage direkt im ACCESS absetze bekomme ich das gewünschte ergebnis! Es handelt sich seltsamerweise um ein und die selbe Abfrage!


Ich habe zuerst eine Initialisierungsroutine, die die Connection herstellt und ein Test-SElect absetzt. Anschließend wird das RecordSet geschlossen und die Connection gehalten (hoffe, dass kein implizites Close erfolgt, aber schätze, dann gäbe es einen anderen Fehler....). Aus einer anderen Routine setze ich dann das besagte Select ab. Zum Schluss erfolgt das Schließen der Connection!

Öffnen:

Code:

    cCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbPath & ";Persist Security Info=False"
    Set adoCon = New ADODB.Connection
    ret = False
    adoCon.Open cCon
    Set adoRS = New ADODB.Recordset
    sql = INIT_TEST_SELECT
    adoRS.Open sql, adoCon
    If Not adoRS.EOF Then
        ret = True
    End If
    adoRS.Close
    Set adoRS = Nothing
    initializeAccessConnection = ret


Select:

Code:

    Set adoRS = New ADODB.Recordset
 
    sql = "SELECT Count(s.Pos) AS anz " & _
    "FROM zeichnungsliste AS z INNER JOIN schachtliste AS s ON      z.Dateinummer=s.Dateinummer " & _
    "WHERE (((z.Dateiname) Like '*TV_Skizze_Test St. Irgendwo.dwg') AND ((s.Pos)='1')) " & _
    "GROUP BY s.Pos;"
   
    adoRS.Open sql, adoCon
    If Not adoRS.EOF Then
        If adoRS("anz").Value > 0 Then
              .... do something....
        End If
    End If
    adoRs.Close 


SCHLIESSEN:


Code:

Public Sub destroyAccessConnection()
    Debug.Print "Destroying connection..."
    If Not adoCon Is Nothing Then
        adoCon.Close
        Set adoCon = Nothing
    End If
End Sub


 

Liebe Grüße,
Peter

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

Stelli1
Moderator
Verm.-Ing.


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

Beiträge: 1526
Registriert: 17.08.2005

Map 2000-2014, Rasterdesign,
MapGuide, Autodesk Topobase,
VS6, VS.net 2013

erstellt am: 30. Apr. 2008 20:23    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 pistolpete1 10 Unities + Antwort hilfreich

Hallo Peter,

das in Access ist ja auch kein "richtiges" SQL. Ohne es getestet zu haben mal mein Ansatz. Zu beachten ist, dass das Jokerzeichen in SQL nicht der * sondern % ist.

Code:
SELECT
   Count(s.Pos) AS anz
FROM
   zeichnungsliste z,
   schachtliste S
where
   z.Dateinummer = s.Dateinummer
   and z.Dateiname Like '%TV_Skizze_Test St. Irgendwo.dwg'
   and s.Pos)='1'
GROUP BY
   s.Pos;

Dem Recordset fehlen wohl noch einige Parameter die man normalerweise mitgibt. Sieh auch malhier.

Wilfried Stelberg

------------------
Warum lisp'eln wenn's auch anders geht. 
www.ib-stelberg.de

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



Anzeige:Infos zum Werbeplatz >>

CADflow CAD APP für AEC - Architektur-, Ingenieur- und Bauwesen, Raum- und Möbeldesign, Datenaustausch

pistolpete1
Mitglied
Student


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

Beiträge: 102
Registriert: 06.01.2007

erstellt am: 30. Apr. 2008 21:16    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 Wilfried!

Vielen Dank  . Ich weiß zwar, dass '%' SQL-konform ist, aber ich dachte ich probier es mit dem was ACCESS annimmt.

Dein Rat war wieder einmal für unschätzbaren Wert für mich, denn ich wäre nicht darauf gekommen!

Schönen Abend,
Lg Peter

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)2025 CAD.de | Impressum | Datenschutz