|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
因此我们的方案中要构造这种逆操作。Event_type增加一种FlashBACK_EVENT。这类操作形式与Query_Event相同,都是简单的SQL语句,只是包含了将数据恢复的操作。
导进文本文件时怎样指定字段范例?
成绩:
我有一个文本文件必要导进Access,可是文本文件中有一列数据底本是文本,可是导进数据库后主动酿成了“双精度”范例,我该怎样让各个字段按我必要的数据范例天生哪?
怎样让ACCESS依照我划定的构架、规格从文本文件、XLS文档中导进数据?
办法二:
用Schema.ini文件也能够到达请求。
感化:Schema.ini用于供应文本文件中纪录的构架信息。每一个Schema.ini项都用于指定表的五个特性之一:
1、文本文件名
2、文件格局
3、字段名、字段长度、字段范例
4、字符集
5、出格数据范例转换
指定文件名
文件名要用方括号括起来,比方假如要对Sample.txt利用数据构架信息文件,那末它的对应的项应当是
[Sample.txt]
指定文件格局
格局申明表格局Schema.ini格局形貌Tab制表符分开文件中的字段用制表符分开Format=TabDelimitedCSV分开文件中的字段用逗号来分开Format=CSVDelimited自界说分开文件中的字段能够用任何字符来分开,一切的字符都能够用来分开,包含空格,可是双引号(")除外
Format=Delimited(自界说分开符)
-大概没有分开符-
Format=Delimited()
流动宽度文件中的字段为流动长度
指定字段
你能够有两种办法在一个字符分开的文本文件中指定字段名
1、在文本文件中的第一行包括字段名,而且设置ColNameHeader为True。
2、用数字编号指定每列而且指定每列的名字和数据范例
你必需用数字编号指定每列而且指定每列的名字、数据范例和长度(在流动长度分开的文本文件中必要指定长度)
注重,设定了ColNameHeader选项,在Schema.ini中Windows注册时会疏忽FirstRowHasNames选项。
你也能够指定字段的数据范例,利用MaxScanRows选项用来指定在断定列的数据范例时要扫描几行数据。设置MaxScanRows为0将扫描全部文件。
假如文本文件第一行包括字段名,而且要扫描全部文件,改项目就要界说以下:
ColNameHeader=True
MaxScanRows=0
接上去的项目用来指定表中的字段,利用列编号(Coln)选项来指定列。字段长度在“流动分开文本文件中”是必填项目,在“字符分开文本文件”中是可选项目。
示例:界说2个字段,CustomerNumber是长度为10的文本字段、CustomerName是长度为30的文本字段。
Col1=CustomerNumberTextWidth10
Col2=CustomerNameTextWidth30
语法以下:
Coln=ColumnNametype[Width#]
参数注释以下:
参数申明ColumnName文本,标识字段名,假如包括空格要用双引号括起来type
数据范例包含:
MicrosoftJet数据范例:BitByteShortLongCurrencySingleDoubleDateTimeTextMemo
ODBC数据范例:Char(sameasText)Float(sameasDouble)Integer(sameasShort)LongChar(sameasMemo)Datedateformat
个中dateformat是日期的格局字符串比方:DateYYYY-MM-DD
Width字符串的长度,前面的数字用来指定字段的长度(“流动分开文本文件”为必填,“笔墨分开文本文件”为可选)#整形数字,标识字段长度
指定字符集
CharacterSet项有两个选择:ANSI|OEM
选择ANSI字符集用以下办法:
CharacterSet=ANSI
出格数据范例转换
出格数据范例转换次要是界说好比日期、泉币型数据怎样转换大概怎样显现的,你能够参考上面这张表:
选项申明DateTimeFormat
Canbesettoaformatstringindicatingdatesandtimes.Youshouldspecifythisentryifalldate/timefieldsintheimport/exportarehandledwiththesameformat.AllMicrosoftJetformatsexceptA.M.andP.M.aresupported.Intheabsenceofaformatstring,theWindowsControlPanelshortdatepictureandtimeoptionsareused.
DecimalSymbol
Canbesettoanysinglecharacterthatisusedtoseparatetheintegerfromthefractionalpartofanumber.
NumberDigits
Indicatesthenumberofdecimaldigitsinthefractionalportionofanumber.
NumberLeadingZeros
Specifieswhetheradecimalvaluelessthan1andgreaterthanC1shouldcontainleadingzeros;thisvaluecaneitherbeFalse(noleadingzeros)orTrue.CurrencySymbol
Indicatesthecurrencysymboltobeusedforcurrencyvaluesinthetextfile.Examplesincludethedollarsign($)andDm.
CurrencyPosFormat
Canbesettoanyofthefollowingvalues:
・Currencysymbolprefixwithnoseparation($1)
・Currencysymbolsuffixwithnoseparation(1$)
・Currencysymbolprefixwithonecharacterseparation($1)
・Currencysymbolsuffixwithonecharacterseparation(1$)
CurrencyDigits
Specifiesthenumberofdigitsusedforthefractionalpartofacurrencyamount.
CurrencyNegFormat
Canbeoneofthefollowingvalues:
・($1)
・C$1
・$C1
・$1C
・(1$)
・C1$
・1C$
・1$C
・C1$
・C$1
・1$C
・$1C
・$C1
・1C$
・($1)
・(1$)
Thisexampleshowsthedollarsign,butyoushouldreplaceitwiththeappropriateCurrencySymbolvalueintheactualprogram.
CurrencyThousandSymbol
Indicatesthesingle-charactersymboltobeusedforseparatingcurrencyvaluesinthetextfilebythousands.
CurrencyDecimalSymbol
Canbesettoanysinglecharacterthatisusedtoseparatethewholefromthefractionalpartofacurrencyamount.
上面给出一个复杂的例子,假定有一个表Contacts.txt相似上面:
姓名单元接洽日期
王海上海无机化学研讨所2002-1-1
罗炙数字化机床研讨院2004-1-1
导进Access应当相似上面表格:
姓名单元接洽日期王海上海无机化学研讨所2002-1-1罗炙数字化机床研讨院2004-1-1
那末Schema.ini则是相似上面的INI文件:
[Contacts.txt]
ColNameHeader=True
format=Delimited("")
MaxScanRows=0
CharacterSet=ANSI
Col1="姓名"CharWidth10
Col2="单元"CharWidth9
Col3="接洽日期"DateWidth8
正文以下:
[Contacts.txt]///文本文件名
ColNameHeader=True///带有表头
format=Delimited()///空格作为分开符,假如是分号,请用format=Delimited(;)来办理
MaxScanRows=0///扫描全部文件
CharacterSet=ANSI///ANSI字符集
Col1="姓名"CharWidth10///字段1
Col2="单元"CharWidth9///字段2
Col3="接洽日期"DateWidth8///字段3
///假如有更多字段可Col4....ColN
注重,Schema.ini必需和必要导进的文本文件在统一目次。
今后,我们就能够使用上面的语句来导进数据了:
CurrentProject.Connection.Execute"SELECT*INTONewContactFROM[Text;FMT=Delimited;HDR=Yes;DATABASE=C:;].[Contacts#txt];"
注重,到2000格局的MDB为止,以下语句城市招致导进失利,应当是Access自己的成绩:
到AccessXP/access2003呈现不晓得是不是已办理该成绩,人人能够在“批评”中告知我测试了局。
DoCmd.TransferTextacImportFixed,,"Contacts","C:contacts.txt"
大概
DoCmd.TransferTextacImportFixed,"C:.ini","Contacts","C:Documents.txt"
毛病动静为:
运转时毛病3625:
文本文件标准c:schema.ini不存在。不克不及利用标准举行导进、导出大概链接。
大概
运转时毛病2511:
这个操纵或办法必要一个SpecificationName参数。
别的,请参考:
http://support.microsoft.com/default.aspx?scid=kb;en-us;241477
http://www.access911.net站长保藏每个Rows_log_event中包含event_type,可选值为WRITE_ROWS_EVENT、UPDATE_ROWS_EVENT、DELETE_ROWS_EVENT。从宏名字就能看出用途。 |
|