PDA

View Full Version : سوال: اصلاح کد VB



ARData
سه شنبه 14 تیر 1390, 16:46 عصر
دوستان عزيز در کد زير ميخوام از دو شرط استفاده کنم ولي خطاي Type mismach ميده :
Private Sub Form_Load()
Dim StrUserName As String
Dim StrUserAccessCode As String
Dim StrFrmName As String
StrFrmName = "'" & Me.Form.Name & "'"
StrUserName = "'" & DLookup("[MUserName]", "TblUsers", "[MUserComName]= GetLogonName()") & "'"
StrUserAccessCode = DLookup("[UFormLevelaccess]", "TBLUserForms", "[UFormName] =" & StrFrmName And "[UFormUser] =" & StrUserName)
End Sub

انگوران
سه شنبه 14 تیر 1390, 18:07 عصر
دوست عزيز، براي اينجور موارد بايد نمونه باشه تا اولاً از جداول موجود استفاده بشه ثانياً مشخص بشه نوع فيلدها چي هست و ... در هر صورت با فرض اينكه همه فيلدها متني باشن كد زير احتمالاً خطا نداشته باشه.

Dim StrUserName As String
Dim StrUserAccessCode As String
Dim StrFrmName As String
StrFrmName = Me.Form.Name
StrUserName = DLookup("[MUserName]", "TblUsers", "[MUserComName]='" & GetLogonName() & "'")
StrUserAccessCode = DLookup("[UFormLevelaccess]", "TBLUserForms", "[UFormName] ='" & StrFrmName & "'" & " And [UFormUser] ='" & StrUserName & "'")

ARData
چهارشنبه 15 تیر 1390, 07:59 صبح
ممنون از راهنمايي شما ولي باز هم خطاي Data type mismatch in criteria expression. رو ميده ...

dadsara
چهارشنبه 15 تیر 1390, 08:38 صبح
سلام
این خطا زمانی ظاهر می شود که نوع فیلد شما در بانک با نوع فیلد در هنگام خواندن آن در VBA متفاوت باشد

ARData
چهارشنبه 15 تیر 1390, 08:59 صبح
با ايجاد دو تا تکست باکس در خود فرم شرط برقرار ميشه ولي زماني که متغير تعريف مي کنيم شرط به هم مي ريزه مثل مثال زير :
Private Sub Form_Load()

Dim StrUserAccessCode As Integer

TxtFrmName = Me.Form.Name
TxtUserId = DLookup("[MUserID]", "TblUsers", "[MUserComName]= GetLogonName()")

StrUserAccessCode = Nz(DLookup("[UFormLevelaccess]", "TBLUserForms", "[UFormName] = (Forms!FrmTest!TxtFrmName) And [UFormUser] = (TxtUserId)"))
End Sub