我在“专家答问”中的一些答复-trynew
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> 综合其它


我在“专家答问”中的一些答复

发表时间:2008/8/27 0:31:25 评论(0) 浏览(4765)  评论 | 加入收藏 | 复制
   
摘 要:问:如何实现EXCEL和ACCESS的数据同步:我用excel制作了一张员工信息表,并将内容导入到Access 里,如果在access里修改数据,怎么才能够让access和excel数据同步
答:用“链接”代替“导入”excel表
正 文:

以下内容是我花了一个晚上时间在“专家答问”中的一些答复。

1、问:accesss如何把我想要的记录插在适当的位子?
答:accesss不是Excel,所有记录都是插入到最后面然后根据关键字排序。如果需要自定义记录顺序,可以增加一个排序字段(最好不要调整关键字字段),通过手工调整排序字段序号,也可以通过插入记录获取数据表中当前选定记录的排序字段序号用程序进行处理,并以此字段排序,把插入记录显示在适当的位子。
下面一段代码放在窗体的成为当前事件中,可实现数据表在当前记录前插入新记录。条件是要有“序号”字段并以此字段排序:

Private Sub Form_Current()
    If Me.序号 <> 0 Then
        If Me.CurrentRecord <> 1 Then Me.Tag = Me.序号
    Else
        DoCmd.SetWarnings False
        DoCmd.RunSQL "UPDATE tem SET tem.序号 = [序号]+1 WHERE tem.序号>" & (Me.Tag - 1)
        DoCmd.RunSQL "INSERT INTO tem(序号) VALUES (" & (Me.Tag) & ")"
        Me.Requery
        Me.RecordsetClone.FindFirst "序号=" & (Me.Tag)
        Me.Bookmark = Me.RecordsetClone.Bookmark
    End If
End Sub

2、问:如何控制该列数据在输入整数时,显示整数;输入小数时,如果有1位小数就显示1位小数;如果有n位小数就显示n位?
答:在表设计器中把该字段的数据类型设为“数字”,在下面的字段大小设为“双精度型”即可。如果是单精度型,若整数部分太大,则会自动去掉后面的小数位。

3、问:在组合框选定内容在相应的文本框显示相关信息代码怎样写?
答:可以通过选定一个选项,如产品编号,自动把产品型号等相关信息辅助录入到当前记录,当然也可采用关联表的方式自动动态显示,各有优缺点。在问题示例中,DLookup函数用错,每次只能求一个字段值,你分别查找和赋值就可以了。
Private Sub 供货商编号_LostFocus()
On Error GoTo Err_供货商编号_LostFocus
Dim StrTemp As String
   StrTemp = DLookup("公司名称", "供货商资料", "[供货商编号]= '" & Me![供货商编号] & "'")
    Me![公司名称] = StrTemp
   StrTemp = DLookup("供货商", "供货商资料", "[供货商编号]= '" & Me![供货商编号] & "'")
    Me![供货商] = StrTemp
Exit_供货商编号_LostFocus:
    Exit Sub
Err_供货商编号_LostFocus:
    MsgBox Err.Description
    Resume Exit_供货商编号_LostFocus
End Sub

4、问:access中一张表中某字段数据输入后,如何再另一张表中实现同字段相应数据增减啊?比如进销存,“商品进货表”中一件商品某规格进货1件,如何同步让“总库存表”中该商品该货号自动加一件。
答:大概有三种方法(跟孔乙己的回字写法一样多:)
1、使用SQLServer来储存数据,使用触发器;
2、“总库存表”使用查询,库存数使用计算字段;
3、在“商品进货”录入窗体中数据更新事件中用UPDATE语句进行“总库存表”的数据更新。
推荐使用第二种方法。

5、问:access报表分组后如何按固定行打印,并当数据不足时以空行补足?
答:在技术论坛中用“空行”作关键字搜索,下面是其中一个帖子。
“精简的报表补空行代码”
http://www.office-cn.net/vvb/viewthread.php?tid=57087&highlight=%BF%D5%D0%D0

6、问:ms date取的日期变量放在查询语句里变文本了?
答:注意查询语句中不同数据类型的界定符,应改为:
List54.RowSource = "select 金额 from 业绩 where 日期 l= #" & b & "#"
另外日期型字段及日历

Access软件网交流QQ群(群号:198465573)
 
 相关文章
我在“专家答问”中的答复(二)  【trynew  2008/10/14】
主子窗体同步查找及切换记录示例  【杜超  2012/1/28】
Excel经典SQL语句大全(6)SQLServer2000同步复...  【欢乐小爪  2012/3/30】
SQL SERVER2005多个服务器同步  【赵文斌  2012/4/28】
ScrollBar实现多子窗体同步滚动显示  【叶海峰  2012/9/22】
常见问答
技术分类
相关资源
文章搜索
关于作者

trynew

文章分类

文章存档

友情链接