Ich habe zwei Tabellen, denen ich bei Vornamenfeldern beitrete, die manchmal einen mittleren Anfangs- oder zweiten Vornamen haben, mit einem Leerzeichen dazwischen. So könnte der Wert Jane M
oder Jane Moriarty
für die gleiche Person sein.Wie gehe ich mit #func um? Fehler in Zellen, in denen die Funktion nicht gilt?
(Ich bin auch auf Nachnamen und DOB Beitritt, aber das sind nicht Teil dieses Problems)
Zwischen den beiden Listen, hat man in der Regel den ganzen mittleren Namen, während der andere in der Regel die mittlere Initiale hat . Wegen dieser Diskrepanz muss ich den Platz und die Zeichen, die vor dem Beitritt folgen, anpassen.
den Text Ich möchte zu packen, bin ich
mitLEFT(Patients.FIRST_NAME, Instr(Patients.FIRST_NAME, ' ',) -1) as FIRST_NAME_TRIM
so weit, so gut. Für die Zellen, die weder einen anfänglichen noch einen zweiten Vornamen haben, z. Jane
, Access gibt #func!
zurück. Vermutlich weil die Instr
keinen Platz finden kann. Wenn ich versuche, die getrimmte Variable zu verknüpfen, gibt Access einen Fehler aus. Wenn ich es auf diese Weise versuchen
SELECT var1, var2, var3,
LEFT(Patients.FIRST_NAME, Instr(Patients.FIRST_NAME, ' ') -1) as FIRST_NAME_TRIM,
LEFT(Roster.FST_NM, Instr(Roster.FST_NM, ' ') -1) as FST_NM_TRIM
FROM Patients
INNER JOIN Roster
ON FIRST_NAME_TRIM = FST_NM_TRIM;
ich JOIN expression not supported
Wenn ich es auf diese Weise versuchen
SELECT var1, var2, var3,
Patients_mod.FIRST_NAME_TRIM,
Roster_mod.FST_NM_TRIM
FROM
(
SELECT var1, var2, var3,
LEFT(Patients.FIRST_NAME, Instr(Patients.FIRST_NAME, ' ') -1) as FIRST_NAME_TRIM
FROM Patients
) as Patients_mod
LEFT JOIN
(
SELECT var1, var2, var3,
LEFT(Roster.FST_NM, Instr(Roster.FST_NM, ' ',) -1) as FST_NM_TRIM
FROM Roster
) as Roster_mod
ON Roster_mod.FST_NM_TRIM = Patients_mod.FIRST_NAME_TRIM;
ich Syntax error in FROM clause
bekommen, und ich sehe nicht einen Syntaxfehler.
So muss ich entweder das #func!
Problem an erster Stelle verhindern, oder finde Code, der die Zellen ignoriert, die #func!
haben.
Perfect (es mit
LEFT JOIN
auch funktioniert). Ich war überrascht, dass der Modulname keine Rolle zu spielen scheint. Könnte ich ein paar Funktionen in ein Modul stecken, oder ist es ein pro? Ich bezweifle, dass das eine gute Idee wäre, aber ich bin neugierig. – RominusSie können beliebig viele Funktionen in ein Modul einfügen (und es ist sehr üblich, mehrere in eins zu setzen). Der Modulname darf nicht der gleiche sein wie ein Sub/Function, ansonsten ist es egal. @ReidMcCamish – Andre
ja, fand das auf die harte Tour! – Rominus