vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

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

VB & Datenbanken
abfrage error 3085 
Autor: markus2
Datum: 26.01.04 11:20



hallo

wie kann ich von vb aus eine abfrage ausführen die eine funktion verwendet?

beispiel:
das soll mir die beteiligtenID und alle seine Unfallumstände liefern
SELECT b_id AS AUDB_b_id, GetUmstaendeForB_ID(b_id) AS [umst1;umst2;umst3;]
FROM beteiligte;
in access geht es.
vom vb aus kennt er die fkt. GetUmstaendeForB_ID nicht ....

im modul:
Option Compare Database
Dim g_DB As DAO.Database
 
Dim db_umstaende As DAO.Database
Dim rs_umstaende As DAO.Recordset
 
Public Sub OpenUmstaendeDBRS()
Dim SQL As String
Set db_umstaende = CurrentDb
SQL = "SELECT * FROM umstaende_des_beteiligten ORDER BY ub_b_id"
Set rs_umstaende = db_umstaende.OpenRecordset(SQL, , dbReadOnly)
End Sub
 
' liefert die umstaende des beteiligten strichpunkt getrennt zurück
' leere felder werden auf 3 strichpunkte aufgefüllt
' schließen der db noch einbauen
Public Function GetUmstaendeForB_ID(b_id As Long) As String
Dim SQL As String
Dim ret As String
Dim first As Boolean
Dim zaehler As Integer
Dim i As Integer
 
' öffnen wenn zu
If db_umstaende Is Nothing Then OpenUmstaendeDBRS
 
zaehler = 0
rs_umstaende.FindFirst ("ub_b_id=" & CStr(b_id))
If Not rs_umstaende.NoMatch Then
 
    first = True
    Do While Not rs_umstaende.NoMatch
        If first = False Then
            ret = ret & ";"
            zaehler = zaehler + 1
        End If
        first = False
        ret = ret & rs_umstaende![ub_uu_id]
        rs_umstaende.FindNext ("ub_b_id=" & CStr(b_id))
    Loop
    Select Case zaehler
        Case 0
            ret = ret & ";;;"
        Case 1
            ret = ret & ";;"
        Case 2
        ret = ret & ";"
    End Select
    GetUmstaendeForB_ID = ret
Else
    GetUmstaendeForB_ID = ";;;"
End If
End Function
das obige modul ist derzeit im access, hab es aber auch schon ins vb-programm kopiert -> er kennt es trotzdem nicht

ich brauch aber irgendwie ein select das mir die unfallumstände (0 bis 3) eines beteiligten in der Form umstand1;umstand2; umstand3; in eine Spalte pro beteiligten schreibt (siehe GetUmstaendeForB_ID) bei 3 unfallumständen bzw. umstand1; ; ; bei nur zb einem Unfallumstand

d.h. keinen join wo ich folgendes bekommen würde
b_id umstand
1 1
1 2
1 3
...
sondern
b_id umstand
1 1;2;3;
2 ; ; ; // hat keine unfallumstände




bitte um hilfe!!

lg
markus
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
abfrage error 3085639markus226.01.04 11:20

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-2025 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