2014-01-09 33 views
1

我必须做一些改变,以对获取运行2003更改内容与源控制

我有哪里点击某个按钮将改变取决于文本框的文本形式的程序选择什么(图像研究)。 最初,此文本框链接到另一个包含此图像的原始路径(数据库/未编辑的路径)的隐藏文本框。

我的问题包含以下内容:当我想要链接到数据库的文本框更改为匹配其他文本框(包含最新路径),并因此允许Access保存更改时,它不会工作。链接到数据库的文本框只是空白。

这里是我在VBA一起工作的代码:

Public Sub SearchForImage(ByVal txtName As String, ByVal txtAuto As String) 
    On Error Resume Next 
    Dim B As String 

    With Application.FileDialog(msoFileDialogOpen) 
     .AllowMultiSelect = False 
     .Show 
     Me.Controls(txtName).SetFocus 
     Me.Controls(txtName).Text = "" 
     B = .SelectedItems(1) 
    End With 
    Me.Controls(txtAuto).SetFocus 
    Me.Controls(txtAuto).Text = "" 
    Me.Controls(txtAuto) = B 
End Sub 

这使我改变文本(与另一个代码位是不喜欢的问题,沿着[它只是使文字去在输入新值之前空白])。 “txtName”表示我发送给函数的不同文本框(它们没有以任何方式链接到数据库),而“txtAuto”表示通过源代码控制链接到数据库的文本框。

有没有人有一个想法,为什么我不能改变这个价值?是否因为文本框与源代码管理链接?直接将'B'的内容保存到数据库中会更好吗?

回答

0

我不确定我是否明白自己想要做什么。但是,我认为您应该使用这些控件的.Value属性而不是.Text,然后您不需要首先使用.SetFocus

'On Error Resume Next ' <-- avoid this whenever possible 
Dim B As String 
With Application.FileDialog(1) ' msoFileDialogOpen 
    .AllowMultiSelect = False 
    If .Show = True Then 
     B = .SelectedItems(1) 
     Me.Controls(txtName).Value = B 
    End If 
End With 
Me.Controls(txtAuto).Value = B 

这可能不是你想要的。但是,没有On Error Resume Next处于活动状态,至少可以让您和我们更清楚地了解问题。

+0

非常感谢,这有助于纠正错误。这个问题也源于一些图像路径超过255字符的事实。限制,并没有因此而得救。 – AquaSoley