Office中国论坛/Access中国论坛
标题:
[分享]菜鸟回报--跨据库动态更新追加
[打印本页]
作者:
wdh008
时间:
2006-2-24 01:47
标题:
[分享]菜鸟回报--跨据库动态更新追加
上次因为碰到:1个库与另外一个库之间数据交流比较多并且2个库的位置不固定故需要做位置动态变化的追加查询才行。我比较菜用不来大段大段的VBA。后来发帖子后受到
skylark
的启示终于圆满解决问题
。
现在我把我的经验分享给大家
1。动态的查询主要是利用VBA来实现的。我的做法是首先用查询向导做出自己需要的查询。然后在查询设计窗体里面选SQL视窗,取得需要的查询代码。然后再VBA里面
一、如果是从自己的库向别的库比如从自己的库的“表1”追加数据到别的库的“表2”
DIM stsql as string
stSQL = "INSERT INTO 表2 ( 姓名, 年龄 ) IN '" &
Me.路径
& "' SELECT 表1.姓名, 表1.年龄 FROM 表1;"
DoCmd.RunSQL stSQL
二、如果是从外部的库的“表2”追加数据到自己的的库的“表1”
mysql = "INSERT INTO 表1 ( 姓名,年龄 ) SELECT 表2.姓名,表2.年龄
FROM [" & Me.路径 & "].表2 ;"
DoCmd.RunSQL stSQL
这里红字部分就是路径。这个是关键。
路径获得方法我知道2个。
1.Sub Main()
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
Dim vrtSelectedItem As Variant
With fd
.AllowMultiSelect = False
.InitialFileName = CurrentProject.Path
If .Show = -1 Then
For Each vrtSelectedItem In .SelectedItems
Me.目标路径 = vrtSelectedItem
Next vrtSelectedItem
Else
End If
End With
Set fd = Nothing
End Sub
这个是现成函数。这个里面在VBA中需要引用一些插件。
2.参考罗斯文数据库里面有个什么员工照片更新的那么一个按钮的VBA代码。那个比较复杂。我用不来。
就这样我就完成了动态的跨库的互相的追加查询。效果很好,在不同计算机间也可以用。
这里SQL语句我就用向导做出来。不用动太多大脑。获取路径的方法
skylark
告诉我后就基本上解决拉。
本内容纯属菜鸟分享。不足地方还请大家指出。我的目的也就是自己走错的地方说出来能让更多的人不会郁闷。
作者:
skylark
时间:
2006-2-24 03:22
To wdh008:
感谢,其实我只是急于帮网友解决,胡乱抓的,实在见笑,只不过你乐于帮人的这分诚心我真的非常感动!
不少的日子没有这种感觉了,谢谢你!
作者:
wdh008
时间:
2006-2-24 18:48
我知道自己是菜鸟,不过希望其他人看看这个后,当遇到类似问题的时候不会郁闷很久
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3