vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Fehler bei einem mittels VBA erzeugten "WHERE-String" 
Autor: ulirai
Datum: 07.08.12 16:58

Ich möchte aus einem Formular (60 Felder) bestimmte Felder auswählen, die ich für eine Abfrage brauche (ChkBox anklicken). Alle ausgewählten Felder habe ich in einen WHERE-String verpackt damit ich ihm mittels Auswahlabfrage auswerten kann.
 
    Dim SQL As String
    Dim SQLSort As String
    Dim Sort() As Variant
    Dim dummi As String
    Dim x As Integer
    Dim ctl As Control
 
   '---alle ausgewählten Felder ermitteln---
    For Each ctl In Me.Controls
        With ctl
            If .ControlType = acCheckBox Then
                If ctl.Value = True Then
                    SQL = SQL & " '" & ctl.Name & "',"
                End If
            End If
        End With
    Next ctl
    SQL = Left(SQL, Len(SQL) - 1) & " "
SQL: SELECT 'DAID', 'GDRgDat', 'GDRG', 'DABruttoAW'

    dummi = "WHERE "
    Do
        dummi = dummi & "AlOrigFN='" & Sort(x) & "' Or "
        x = x + 1
    Loop Until x > UBound(Sort)
    dummi = Left(dummi, Len(dummi)-3)  'das letzte 'OR' entfernen
    SQLSort = "SELECT AIOrigFN, AIAbfrFN " & _
                      "FROM tbl_AbfrageInfo " & _
                       dummi & _
                      "ORDER BY AIStandSort;"
DUMMI: WHERE AlOrigFN=''DAID'' Or AlOrigFN=''GDRgDat'' Or AlOrigFN=''GDRG''AlOrigFN=''DABruttoAW''
SQLSort: SELECT AIOrigFN, AIAbfrFN FROM tbl_AbfrageInfo WHERE AlOrigFN='DAID' Or AlOrigFN='GDRgDat' Or AlOrigFN='GDRG' Or AlOrigFN='DABruttoAW' ORDER BY AIStandSort;

Wenn ich jetzt diesen SQL-String in eine Abfrage kopiere bekomme ich eien Parameterabfrage AIOrgFN mit den Kriterien(dummi) und keine Auswahlabfrage???

Wenn ich den gleichen SQL-String über die Abfrage generiere schaut er optisch gleich aus

SQL-String über Abfrage: SELECT AIOrigFN, AIAbfrFN FROM tbl_AbfrageInfo WHERE AIOrigFN='DAID' Or AIOrigFN='GDRgDat' Or AIOrigFN='GDRG' Or AIOrigFN='DABruttoAW' ORDER BY AIStandSort;

aber er funktioniert.

Wo habe ich hier einen Gedankenfehler?
Danke für Eure Hilfe
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Fehler bei einem mittels VBA erzeugten "WHERE-String"1.087ulirai07.08.12 16:58
Re: Fehler bei einem mittels VBA erzeugten "WHERE-String"528ModeratorDieter08.08.12 08:21
Re: Fehler bei einem mittels VBA erzeugten "WHERE-String"511ulirai08.08.12 09:00

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel