设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 320|回复: 9
打印 上一主题 下一主题

这种学习的方式大家有什么意见

[复制链接]
跳转到指定楼层
1#
发表于 2002-4-10 04:56:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
翻译国外的经典代码,并加上注释和相关或类似的解决办法,举一反三,大家对这种方式,翻译效果等投票后,再到我的贴子下提出宝贵意见
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2002-4-10 05:05:00 | 只看该作者

文件一

如何获取数据库路径及文件夹位置
原文及译文对照:
The Name property of the database object holds this information. For example, typing
数据库对象的名称属性保存了这些信息,例如,
type
键入
?CurrentDB.Name
in the Debug window will return the path and filename of the currently open database.
在立即窗口(在VBA窗口中按CTRL+G)中将会返回当前打开的数据库的路径和文件名
To return the directory, use this function.
返回路径,使用下面函数
'******************** Code Begin ****************
’*************代码开始*************
'Code courtesy of
'Terry Kreft & Ken Getz
'Terry Kreft & Ken Getz的免费代码

Function CurrentDBDir() As String
Dim strDBPath As String
Dim strDBFile As String
    strDBPath = CurrentDb.Name
strDBFile = Dir(strDBPath)
‘译者注IR函数将返回文件名,例如DIR("C:\Windows\Win.ini")将返回WIN.INI文件,如果WIN.INI存
‘在于C:\WINDOWS路径下
    CurrentDBDir = Left(strDBPath, Len(strDBPath) - Len(strDBFile))
End Function
'******************** Code End ****************
‘*********************代码结束******************
‘译者注:使用更简单的办法:CurrentProject.path
To return just the database name, use this function
‘返回数据库名称,使用下面函数
'*************** Code Start ******************
‘***************代码开始********************

Function fDBName(strFullName As String) As String
‘strFullname 应为数据库的完整路径名,例如C:\MPR\SALES.MDB
Dim intLen As Long
Dim i As Integer
    On Error GoTo fDBName_Err

    intLen = Len(strFullName)
    For i = intLen To 1 Step -1
        If Mid$(strFullName, i, 1) = "\" Then
            fDBName = right$(strFullName, intLen - i)
            Exit For
        End If
    Next i

fDBName_Exit:
    Exit Function
fDBName_Err:
    fDBName = vbNullString
    Resume fDBName_Exit
End Function
'*************** Code end  ******************
‘***************代码结束**********************

Or simply: Dir(strFilePath)
‘或者使用更简单的办法ir(strFilePath)
For example: Dir("C:\Windows\Win.ini")
‘例如ir("C:\Windows\Win.ini") 译者注:其将返回WIN.INI文件名,如果WIN.INI存在于C:\WINDOWS\路径下
3#
 楼主| 发表于 2002-4-10 05:07:00 | 只看该作者

文件二

原文及译文:
Ask before saving record
(Q)    How can I control when a record is saved in a form?
(问)当窗体中的记录保存时,我怎样控制?
(A)    Use the form's BeforeUpdate event to run code each time Access tries to save a record.  This way, if the user doesn't want to save a record,   you can issue an Undo command instead of saving the record.
(答):每一次ACCESS试图保存一个记录时,使用窗体的BeforeUpdate事件,这样,如果使用者不希望保存,可以发出Undo命令代替保存记录
Note:  This will generate a Message Box asking for confirmation each time a changed record is saved.  I leave it on whoever is going to follow this method to determine how to refine this per user preference. (Hint: Try a Checkbox.)
备注:下面程序将产生一个信息框要求确认每次记录改变时是否保存,(后一句不知如何翻译,大意是)我让程序在使用这种方法之后的每一位使用者确认自已的决定后(YES SAVE OR NO)再做出反应,(提示:尝试使用Checkbox)
'****************** Code Start ******************
'****************** 代码开始******************

Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim strMsg As String
    strMsg = "Data has changed."’数据变更
    strMsg = strMsg & "@Do you wish to save the changes?"’你希望保存变更
    strMsg = strMsg & "@Click Yes to Save or No to Discard changes."’单击YES保存或者单击NO忽略更改
    If MsgBox(strMsg, vbQuestion + vbYesNo, "Save Record?") = vbYes Then
        'do nothing
    Else
        DoCmd.RunCommand acCmdUndo
        ‘译者按,此处可以使用ME.UNDO或者ME.控件名.UNDO,前者指窗体中的当前记录不保存,后者指当前窗体中当前控件值不保存
        'For Access 95, use DoMenuItem instead
‘在ACCESS95中,使用DoMenuItem代替
        'DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70
    End If
End Sub
'****************** Code End ******************
'****************** 代码结束 ******************

我的英文和计算机都不好,如果有错误,请大家不吝指正

点击这里给我发消息

4#
发表于 2002-4-10 05:11:00 | 只看该作者
不错,套用别人的源码同时加上自己的见解或更好的解决方法
有个建议:
即然是翻译,不是英汉对照,可否去掉原文,一则清晰,二则节约空间
不过,千万别顺手去掉作者的版权信息 :)
5#
 楼主| 发表于 2002-4-10 05:22:00 | 只看该作者
我当时做的意见是同时能提高浏览者的英文水平,不过实在看了让人头晕,OK,下次英文做一个链接到出处,另外,第二篇文章没有版权,没办法
6#
发表于 2002-4-10 05:23:00 | 只看该作者
BinBow的这种形式非常好,我认为,虽然是翻译,可是最好仍能保留原文,因为大家水平有限,可能中文一下子表达的不是特别确切,同时,这样做,也是学习英文的的一种方法啊!:)授人以鱼,不如授人以渔!

点击这里给我发消息

7#
发表于 2002-4-10 05:25:00 | 只看该作者
那投票最好加多这几项,让网友决定 :)
8#
发表于 2002-4-10 05:27:00 | 只看该作者
下次有空我也找些FAQ发出来!

点击这里给我发消息

9#
发表于 2002-4-10 06:30:00 | 只看该作者
不行了,已投票后编辑不了
10#
发表于 2002-4-14 01:51:00 | 只看该作者
举手跺脚赞成,最好也搞个 每周一译 什么的有个鞭策与期待。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-15 04:14 , Processed in 0.079371 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表