Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 在访问字段上保存文件路径_Vb.net_Ms Access 2007 - Fatal编程技术网

Vb.net 在访问字段上保存文件路径

Vb.net 在访问字段上保存文件路径,vb.net,ms-access-2007,Vb.net,Ms Access 2007,我使用的是access表单,其中有一个按钮可以浏览文件并获取路径。创建我的表单是为了将数据插入表A1 TABLA1包含一个名为sPath的字段,我想在其中保存文件路径 我复习了好几遍,但没有找到解决办法 我做错了什么?为什么文件路径未保存到sPath字段中 我正在使用Access 2007。非常感谢您提前和抱歉,我与VB的工作有限 Private Sub Command7_Click() Dim f As Object Set f = Application.FileDialog(3) f

我使用的是access表单,其中有一个按钮可以浏览文件并获取路径。创建我的表单是为了将数据插入表A1

TABLA1包含一个名为sPath的字段,我想在其中保存文件路径

我复习了好几遍,但没有找到解决办法

我做错了什么?为什么文件路径未保存到sPath字段中

我正在使用Access 2007。非常感谢您提前和抱歉,我与VB的工作有限

Private Sub Command7_Click()

Dim f As Object

Set f = Application.FileDialog(3)

f.AllowMultiSelect = True

If f.Show Then
    For i = 1 To f.SelectedItems.Count
        sFile = Filename(f.SelectedItems(i), sPath)
        MsgBox sPath & "---" & sFile
    Next
End If

End Sub


Public Function Filename(ByVal strPath As String, sPath) As String
    sPath = Left(strPath, InStrRev(strPath, "\"))
    Filename = Mid(strPath, InStrRev(strPath, "\") + 1)
End Function

假设其他一切都正常工作,我认为您可能需要显式地传递第二个参数sPath和ByRef。因此:

Public Function Filename(ByVal strPath As String, ByRef sPath As String) As String
    sPath = Left(strPath, InStrRev(strPath, "\"))
    Filename = Mid(strPath, InStrRev(strPath, "\") + 1)
End Function
如果按值传递,则只传递值而不传递地址,因此变量不会反映更新。代码假定sPath是一个字符串,但我没有看到在代码中声明它。如果是这种情况,请查看OptionExplicit