Private Sub Command4_Click()
    CommonDialog1.DialogTitle = "请输入数据库文件名:"
    CommonDialog1.Flags = cdlOFNHideReadOnly 'Or cdlOFNOverwritePrompt
    CommonDialog1.Filter = "Excel文件(*.xls)|*.xls"
    CommonDialog1.FilterIndex = 1
    CommonDialog1.ShowOpen
    
    Route.Text = CommonDialog1.FileName
    
    Dim strLin As String
    
    If Trim(Route.Text) = "" Then
        MsgBox "数据库路径不能为空!", vbCritical, "错误"
        Exit Sub
    End If
End Sub
我也上网查了说控件不存在,我看了控件存在的。我另外一个类似的程序也有跟这完全一样的一段代码没有报错,Why?

解决方案 »

  1.   

    你这个窗体上确定有一个叫Route的TextBox才可以
      

  2.   


    我调试首先指向这行:CommonDialog1.DialogTitle = "请输入数据库文件名:"
    然后一行一行下走
      

  3.   

    确定有CommonDialog1?
    把CommonDialog1删除了再拖上个
      

  4.   

    CommonDialog1怎么加?我另外一个程序里也有CommonDialog1,但是也没有啊。
      

  5.   

    Ctrl+T里面找microsoft Common Dialog Control 6.0
      

  6.   

    我两个程序都用到了CommonDialog1,在两个工程—>部件下都加了Common Dialog控件,但是没有报错的那个程序删除不掉,报错的能删除掉,这是为什么?
      

  7.   

    你應該是沒有CommonDialog1控件吧,ctrl+T,然後點查找,在system32文件夾裏面,有個comdlg32。OCX這個文件,選中,然後點打開,然後確定,在左邊工具盒里有一個CommonDialog空件,双击它,就可以把CommonDialog控件加载到form里面了。然后就可以用了
      

  8.   


    谢谢你,根据你的提示可以了。
    也谢谢dbcontrols,他说的都是对的。
    原因是我两个程序中可以用的那个程序的CommonDialog1放到了form范围外导致看不见(在form边上放CommonDialog1后缩小form)。多以我以为两个程序一样而困惑了好几天。