我有一條記錄,名為ouderecordI get from a table with a SQL statement。
我有這個代碼:
strSQL = "SELECT * from tblS1lijst where id = " & Keuzelijst3.Column(0)
Debug.Print strSQL
ouderecord = CurrentDb.OpenRecordset(strSQL)
Tmpstr = Mid(Keuzelijst3.Column(2), InStr(1, Keuzelijst3.Column(2), ".") 1, _
Len(Keuzelijst3.Column(2)) - InStr(1, Keuzelijst3.Column(2), ".") - 1)
veld_naam = "[" & Tmpstr & "]"
tekst = "ouderecord!" & veld_naam
Debug.Print tekst
當我將滑鼠懸停ouderecord![Situatie]在 Direct 視窗中的文本 ( ) 上時,我會看到該欄位的內容。如何在變數中獲取該內容?
我想要“Situatie”作為變數。
uj5u.com熱心網友回復:
如果欄位的名稱是靜態的,你可以這樣做
Dim tekst As String
tekst = Nz(ouderecord![Situatie])
或者
tekst = Nz(ouderecord!Situatie)
該[和]如果列名包含無效字符,如空格字符或一個連字符,或者如果它有一個關鍵字沖突時,才需要。
但是如果名稱是在變數中動態給出的,則必須訪問該變數的Fields默認屬性Recordset
tekst = Nz(ouderecord(veld_naam))
這與
tekst = Nz(ouderecord.Fields(veld_naam).Value)
哪里veld_naam必須是沒有列名轉義的欄位名[和]:例如, veld_naam = "Situatie"
請注意,該引數可以是表示欄位名稱的字串,也可以是表示查詢中列索引的整數。
該Nz函式將 NULL 值轉換為給定型別的適當值。在這種情況下,它為 NULL 回傳一個空字串。
uj5u.com熱心網友回復:
那個 Nz 成功了!
我現在有
strSQL = "SELECT * from tblS1lijst where id = " & Keuzelijst3.Column(0)
Debug.Print strSQL
ouderecord = CurrentDb.OpenRecordset(strSQL)
Tmpstr = Mid(Keuzelijst3.Column(2), InStr(1, Keuzelijst3.Column(2), ".") 1, Len(Keuzelijst3.Column(2)) - InStr(1, Keuzelijst3.Column(2), ".") - 1)
veld_naam = "[" & Tmpstr & "]"
tekst = "ouderecord!" & veld_naam
tekst = Nz(ouderecord(veld_naam))
Debug.Print tekst
這有效。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/386678.html
