Access-VBA - Vārda lauka parametrs

Izdevums

Es aicinu funkciju, kas precīzi reģistrēs konkrētas jomas vērtību. Lai to paveiktu, mana biroja vārdā mana tabula, ieraksta ID un lauka nosaukums tiek nodots parametram.

 FindLinkedString funkcija (ByVal tabula kā virkne, ByVal ID kā pilnīga, pēc lauka kā virkne) Kā virkne Saule kā datu bāze mydb2 Saule Saistīta tabula kā ieraksta saite SaistītsTableCount As Integer Set mydb2 = CurrentDb () Iestatiet LinkedTable = mydb2.OpenRecordset (tabula) LinkedTable. Par linksTableCount = 1 Lai LinkedTable.RecordCount Ja LinkedTable! ID = ID Tad FindLinkedString = tabula & "!" Lauks & GoTo Fin_FindLinkedString Beigas Ja LinkedTable.MoveNext Nākamais Fin_FindLinkedString: LinkedTable.Close mydb2.Close End Function 

Problēma ir tā, ka FindLinkedString = tabula & "!" & Field, ir acīmredzami godīga spēle, jo tā neatradīs vērtību db, tas saglabā virkni, pagriežot "Table" un "Field" ar parametriem (piemēram, "reviews" Name ", tad es gribu, lai tas parādās" Smith ")

Risinājums

To var izmantot:

 ... LinkedTable.MoveFirst Kamēr nav LinkedTable.EOF Ja LinkedTable.Fields ("ID") = ID Tad FindLinkedString = LinkedTable.Fields ("Vārds") LinkedTable.Close mydb2.Close Set LinKedTable = Nekas Set mydb2 = Nekas Iziet Funkcija LinkedTable .MoveNext Wend End Ja "... 

Bet tas var būt vienkāršāks:

 ... Set LinkedTable = mydb2.OpenRecordset ("SELECT Name FROM" un tabula & "WHERE ID =" & ID) FindLinkedString = LinkedTable.Fields (0) ... 
Iepriekšējais Raksts Nākamais Raksts

Top Padomi