Also ich brauche für Access VB(A) einen Code der meine Spalte mit den Mitarbeitern durch Komma getrennt in ein Feld (anstatt immer in eine neue Zeile) einträgt. Es ist eine Datenbank für Projekte. Das Problem ist, dass dann bei der Abfrage ein Projekt mehrmals angezeigt wird, jenachdem wie viele Bearbeiter es hat. Ich wollte durch eine Abfrage und dem Code die Spalte zusammentragen.
Durch Recherchearbeit und ein wenig Hilfe hab ich das hier gefunden und verändert:
Public Function fctMitarbeiterVerketten(lngProjektID As Integer) As String
Dim rsProjekt As DAO.Recordset
Set rsProjekt = „SELECT Bearbeiter FROM tblBearbeiter WHERE …“ & lngProjektID
Do Until rsProjekt.EOF
fctMitarbeiterVerketten = fctMitarbeiterVerketten & ", " & rsProjekt!Bearbeiter
Loop
End Function
Nur kommt beim debuggen immer der Fehler das die Typen unverträglich sind.
Ich bin momentan schon 2 Tage am verzweifeln und kann meine Arbeit nicht fortsetzen.
Ihr seit meine letzte Hoffnung!
Public Function fctMitarbeiterVerketten(lngProjektID As Integer) As String
Dim rsProjekt As DAO.Recordset
Dim DB As DAO.Database
Set DB = CurrentDb()
Set rsProjekt = DB.OpenRecordset(„SELECT Bearbeiter FROM tblBearbeiter WHERE Projekt=“ & lngProjektID)
Do Until rsProjekt.EOF
fctMitarbeiterVerketten = fctMitarbeiterVerketten & ", " & rsProjekt!Bearbeiter
rsProjekt.MoveNext
Loop
End Function
lieber Access Entwickler,
tut mir leid. Hier kann ich nicht weiter helfen.
Vielleicht gibt es hier Hilfe: http://www.smarttools.de/newsletter/access-weekly.ne…
#######################################################
Dim strHelp as string
Set rsProjekt = „SELECT Bearbeiter FROM tblBearbeiter WHERE …“ & lngProjektID
Do Until rsProjekt.EOF
strHelp = strHelp & ", " & rsProjekt!Bearbeiter
Loop
mitarbeiterverketten = strHelp
Ausserdem kannst Du noch
CSTR(rsProjekt!Bearbeiter)
ausprobieren.
Also ich brauche für Access VB(A) einen Code der meine Spalte
mit den Mitarbeitern durch Komma getrennt in ein Feld (anstatt
immer in eine neue Zeile) einträgt. Es ist eine Datenbank für
Projekte. Das Problem ist, dass dann bei der Abfrage ein
Projekt mehrmals angezeigt wird, jenachdem wie viele
Bearbeiter es hat. Ich wollte durch eine Abfrage und dem Code
die Spalte zusammentragen.
Durch Recherchearbeit und ein wenig Hilfe hab ich das hier
gefunden und verändert:
So:
Public Function fctMitarbeiterVerketten(lngProjektID As Long ) As String
Dim rsProjekt As DAO.Recordset
Set rsProjekt = Currentdb.Openrecordset(„SELECT Bearbeiter FROM tblBearbeiter WHERE ProjektID_FK =“ & lngProjektID ,dbOpenSnapshot )
Do Until rsProjekt.EOF
fctMitarbeiterVerketten = fctMitarbeiterVerketten & ", " & rsProjekt!Bearbeiter
Loop rsProjekt.Close
Set rsProjekt = Nothing
End Function
Hey,
danke für die hilfen!
Es läuft bei mir jetzt nur steh ich vor einem Problem und zwar das in der Zeile: „SELECT Bearbeiter FROM tblBearbeiter WHERE fiProjekt=“ , dass fiProjekt was benötigt wird nicht in der Tabelle tblBearbeiter ist sondern in der Tabelle tblBearbeiterVerweis.
Gibt es eine Möglichkeit das Feld nach WHERE auf ein Feld auf einer anderen Tabelle zu Verweisen?
Hey,
danke für die hilfen!
Es läuft bei mir jetzt nur steh ich vor einem Problem und zwar das in der Zeile: „SELECT Bearbeiter FROM tblBearbeiter WHERE fiProjekt=“ , dass fiProjekt was benötigt wird nicht in der Tabelle tblBearbeiter ist sondern in der Tabelle tblBearbeiterVerweis.
Gibt es eine Möglichkeit das Feld nach WHERE auf ein Feld auf einer anderen Tabelle zu Verweisen?
Hey,
danke für die hilfen!
Es läuft bei mir jetzt nur steh ich vor einem Problem und zwar das in der Zeile: „SELECT Bearbeiter FROM tblBearbeiter WHERE fiProjekt=“ , dass fiProjekt was benötigt wird nicht in der Tabelle tblBearbeiter ist sondern in der Tabelle tblBearbeiterVerweis.
Gibt es eine Möglichkeit das Feld nach WHERE auf ein Feld auf einer anderen Tabelle zu Verweisen?
danke für die hilfen!
Es läuft bei mir jetzt nur steh ich vor einem Problem und zwar
das in der Zeile: „SELECT Bearbeiter FROM tblBearbeiter WHERE
fiProjekt=“ , dass fiProjekt was benötigt wird nicht in der
Tabelle tblBearbeiter ist sondern in der Tabelle
tblBearbeiterVerweis.
Ohne Kenntnis der Tabellenstruktur kann ich da nichts sagen.
Gibt es eine Möglichkeit das Feld nach WHERE auf ein Feld auf
einer anderen Tabelle zu Verweisen?
nein, Where kann sich nur auf ein Feld beziehen, das in einer der in der Abfrage vorkommenden Tabellen steht.
Man kann natürlich in einer Abfrage mehrere Tabellen benutzen und die über die entspr. Schlüsselfelder miteinander verknüpfen (left join, inner join, right join). Dazu dann eine Where-Condition einbauen, die sich auf das gewünschte Feld in einer der beteilgten Tabellen auswirkt.