关于《未完满解决的问题,如能解决请使用评论》一文的网友评论如下
楼层:1 昵称:access911 时间:2004年2月8日0:40:00
Public Sub CreateDatabase(dbName As String) sCnn = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine Type=5;Data Source=" & dbName cat.Create sCnn Set tbl = New ADOX.Table tbl.ParentCatalog = cat With tbl .Name = "tableName" .Columns.Append "ID", adInteger .Columns("ID").Properties("AutoIncrement").Value = True .Columns.Append "aa", adDouble .Columns("aa").Properties("NullAble") = True .Columns("aa").Properties("Jet OLEDB:Allow Zero Length") = True End With catDB.Tables.Append tblNew(0) Set catDB = Nothing END SUB 指定表或列的父目录以访问提供者特有的属性。 设置和返回值 设置并返回 Catalog 对象。将 ParentCatalog 设置为打开的 Catalog,可允许在向 Catalog 集合追加表或列之前访问提供者特有的属性。 说明 某些数据提供者仅允许在创建时(向其 Catalog 集合中追加表或列时)写入提供者特有的属性值。要在向 Catalog 中追加这些对象之前访问这些属性,请先在 ParentCatalog 属性中指定 Catalog。 将表或列追加到非 ParentCatalog 的 Catalog 中时,将出现错误。 |
楼层:2 昵称:access911 时间:2004年3月4日23:14:00
关于内存溢出错误,有一个简单的解决方法,就是将文字以特定ANSI字符的编码方式编码后存储,比如URLENCODE、BASE64、RTF等编码方式 |
楼层:3 昵称:access911 时间:2004年6月24日16:21:00
Function adsfasdf() Dim Tbl As New ADOX.Table Dim Cat As New ADOX.Catalog Dim Col As New Column Dim pro On Error Resume Next Cat.ActiveConnection = CurrentProject.Connection 'Tbl.ParentCatalog = Cat 'Tbl.Name = "表1" Set Tbl = Cat.Tables("表1") Set Col = Tbl.Columns("dadf") Set pro = Col.Properties("Jet OLEDB:Compressed UNICODE strings") Debug.Print pro.Value pro.Value = False '这行产生错误 Debug.Print Err.Description '错误提示 '多步 OLE DB 操作产生错误。如果可能,请检查每个 OLE DB 状态值。没有工作被完成。 '如何纠正? End Function |
楼层:4 昵称:access911 时间:2004年7月4日14:08:00
关于《如何用 ADO 以及 ADOX 设置“必填”属性?》已经的到中国微软技术工程师的解答,解答如下(注意,中国微软技术工程师的解答并不是绝对正确的) Q: 但是我想了解,是否能够使用 ADO 来设置,或者还是我设置错误了。 您可能也已经看到了。 “有意思的是,我即使在表设计界面中将UNICODE 压缩改为否,这里的结果仍然是 如果说这是一个已知错误,能否帖出相关的 KB 的ID? conn.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\MyAcc2KDB;" For Each p In col.Properties
|
楼层:5 昵称:access911 时间:2004年7月25日11:56:00
全文本检索的应用(一) 作者:allsky 来源:转载 加入时间:2003-6-6 Tvdown.Net 下载站 基本知识 1. SQL Server7 的 DeskTop 版中没有全文本检索。 2. 一个表只能有一个全文本检索。 3. 被检索的表必须有单列的唯一索引。 4. 全文本的索引存储在文件系统中,而非数据库中。 5. 更新全文本索引的过程比常规索引要耗时,而且也不象常规索引那样可以由数据库系统立即更新。 6. 全文本索引包含在全文本目录( Full-Text Catalog )中,每个数据库可以包含一个或多个目录,但一个目录不能属于多个数 7. 全文本检索只能在真正的表上创建,不能是视图,系统表,临时表。 8. 全文本检索会忽略某些噪音字( noise words),比如英文的 a,the,and,中文的'和','是'等等。 9. 如果在查询中包含 noise words ,就会引发错误,在应用程序中应去除这些 noise words。 启动全文本检索服务。 方法A:在企业管理器中打开 Support Services 文件夹,在 Full-Text Search 的右键菜单中选择 Start。 方法B:在 SQL Server Service Manager 的 Services 下拉列表中选择 Microsoft Search,并单击 Start/Continue 按 方法C:使用 net start mssearch 的命令行方式。 使用全文本检索向导( Full-Text Indexing Wizard )。 step1. 选择被检索的数据库,在 Tools 的菜单中,选择 Full-text Indexing,进入欢迎( Welcome )的屏幕,单击 next。 step2. 选择被检索的表,单击 next。 step3. 选择唯一索引,单击 next。 step4. 选择被索引的列,单击 Add,该列显示在右栏中。单击 next。 step5. 选择目录(选择已存在的目录,或创建新的目录),单击 next。 step6. 选择或创建 population schedule(可选项),单击 next。 step7. 单击 finish。 使用 SQL-DMO (以 VB 为例) step1. 在工程的引用中选择 Microsoft SQLDMO Object Library。 step2. 创建 SQLServer 对象。 Dim objCatalog As New SQLDMO.FullTextCatalog '使 pubs 为全文本检索的数据库 '创建新的目录 '将新目录加入到目录集合中 step4. 在表上创建全文本索引。 Dim objTable As New SQLDMO.Table '指定被索引的表 '指定目录名和唯一索引名 '指定被索引的列 '激活该表上的全文本索引 step5. 启动全文本目录 step1. 使 pubs 为全文本检索的数据库 step2. 创建新的目录 作者:allsky 来源:转载 加入时间:2003-6-6 Tvdown.Net 下载站 我们通常在 WHERE 子句中使用 CONTAINS ,就象这样:SELECT * FROM table_name WHERE CONTAINS 我们通过例子来学习,假设有表 students,其中的 address 是全文本检索的列。 1. 查询住址在北京的学生 remark: beijing是一个单词,要用单引号括起来。 2. 查询住址在河北省的学生 remark: HEBEI province是一个词组,在单引号里还要用双引号括起来。 3. 查询住址在河北省或北京的学生 remark: 可以指定逻辑操作符(包括 AND ,AND NOT,OR )。 4. 查询有 '南京路' 字样的地址 remark: 上面的查询将返回包含 'nanjing road','nanjing east road','nanjing west road' 等字样的地址。 5. 查询以 '湖' 开头的地址 remark: 上面的查询将返回包含 'hubei','hunan' 等字样的地址。 6. 类似加权的查询 remark: ISABOUT 是这种查询的关键字,weight 指定了一个介于 0~1之间的数,类似系数(我的理解)。表示不同条件有不同的侧 7. 单词的多态查询 remark: 查询将返回包含 'street','streets'等字样的地址。 全文本检索的应用(三) 我们通常在 FROM 子句中使用 CONTAINSTABLE ,就象这样:SELECT * FROM table_name,CONTAINTABLE CONTAINSTABLE 在查询方式上与 CONTAINS 几乎一样,所以就不用赘述了。CONTAINSTABLE 返回的是符合查询条件的表,在 我们看一个例子,比较这两种表的不同。 在第一部分里我们就强调了:被全文索引的表必须有唯一索引。这个唯一的索引列在返回的表中就成为 KEY。我们通常把它作为表 在某些网站搜索时,结果中会出现表示匹配程度的数字,RANK 与此类似。它的值在0~1000之间,标识每一行与查询条件的匹配程 FREETEXT 语法 FREETEXT 与 CONTAINS 类似,只是没有 CONTAINS 的精度高。在 CONTAINS 中,对查询条件的写法有很多要求,而 FREETEXT 和 CONTAINSTABLE 一样,FREETEXTTABLE 返回带有 KEY,RANK 的表。举例说明: Dim cnn strSQL = "SELECT book_name " &_ Set cnn = Server.CreateObject("ADODB.Connection") cnn.Open "provider=sqloledb;datasource=.;initial catalog=books;user id=sa;pasword=;"
|
楼层:6 昵称:access911 时间:2004年8月8日13:27:00
本站1年来关键字搜索排行榜 access: 324 |
楼层:7 昵称:access911 时间:2005年4月5日16:39:00
EXCEL 中的 IS 类函数 全部显示 IS 类函数 本部分描述了用来检验数值或引用类型的九个工作表函数。 这些函数,概括为 IS 类函数,可以检验数值的类型并根据参数取值返回 TRUE 或 FALSE。例如,如果数值为对空白单元格的引用,函数 ISBLANK 返回逻辑值 TRUE,否则返回 FALSE。 语法 ISBLANK(value) Value 为需要进行检验的数值。分别为:空白(空白单元格)、错误值、逻辑值、文本、数字、引用值或对于以上任意参数的名称引用。 函数 如果为下面的内容,则返回 TRUE ISBLANK 值为空白单元格。 说明 如果您将示例复制到空白工作表中,可能会更易于理解该示例。 操作方法 创建空白工作簿或工作表。 按 Ctrl+C。 示例 2 如果您将示例复制到空白工作表中,可能会更易于理解该示例。 操作方法 创建空白工作簿或工作表。 按 Ctrl+C。 |
楼层:8 昵称:access911 时间:2005年7月15日20:10:00
VB计算农历的算法 选择自 feng_sundy 的 Blog 关键字 VB计算农历的算法 出处 '下面是一个关于VB的农历算法 '前12个字节代表1-12月为大月或是小月,1为大月30天,0为小月29天, '第13位为闰月的情况,1为大月30天,0为小月29天,第14位为闰月的月 '份,如果不是闰月为0,否则给出月份,10、11、12分别用A、B、C来表 '示,即使用16进制。最后4位为当年家农历新年-即农历1月1日所在公历 '的日期,如0131代表1月31日。 'GetYLDate函数使用方式如下tYear为要输入的年,tMonth为月,tDay为 '日期,YLyear是返回值,返加农历的年份,如甲子年,YLShuXing返回 '的是属象,如鼠。IsGetGl是设置是不是通过农历取公历值,如果是, '前三个返回相应的公历日期,而且返回值是一个公历日期。 YLyear As String, YLShuXing As String, _ Optional IsGetGl As Boolean) As String Dim daList(1900 To 2011) As String * 18 Dim conDate As Date, setDate As Date Dim AddMonth As Integer, AddDay As Integer, AddYear As Integer, getDay As Integer Dim RunYue As Boolean If tYear > 2010 Or tYear < 1901 Then Exit Function '如果不是有效有日期,退出 '1900 to 1909 daList(1900) = "010010110110180131" daList(1901) = "010010101110000219" daList(1902) = "101001010111000208" daList(1903) = "010100100110150129" daList(1904) = "110100100110000216" daList(1905) = "110110010101000204" daList(1906) = "011010101010140125" daList(1907) = "010101101010000213" daList(1908) = "100110101101000202" daList(1909) = "010010101110120122" daList(1910) = "010010101110000210" daList(1911) = "101001001101160130" daList(1912) = "101001001101000218" daList(1913) = "110100100101000206" daList(1914) = "110101010100150126" daList(1915) = "101101010101000214" daList(1916) = "010101101010000204" daList(1917) = "100101101101020123" daList(1918) = "100101011011000211" daList(1919) = "010010011011170201" daList(1920) = "010010011011000220" daList(1921) = "101001001011000208" daList(1922) = "101100100101150128" daList(1923) = "011010100101000216" daList(1924) = "011011010100000205" daList(1925) = "101011011010140124" daList(1926) = "001010110110000213" daList(1927) = "100101010111000202" daList(1928) = "010010010111120123" daList(1929) = "010010010111000210" daList(1930) = "011001001011060130" daList(1931) = "110101001010000217" daList(1932) = "111010100101000206" daList(1933) = "011011010100150126" daList(1934) = "010110101101000214" daList(1935) = "001010110110000204" daList(1936) = "100100110111030124" daList(1937) = "100100101110000211" daList(1938) = "110010010110170131" daList(1939) = "110010010101000219" daList(1940) = "110101001010000208" daList(1941) = "110110100101060127" daList(1942) = "101101010101000215" daList(1943) = "010101101010000205" daList(1944) = "101010101101140125" daList(1945) = "001001011101000213" daList(1946) = "100100101101000202" daList(1947) = "110010010101120122" daList(1948) = "101010010101000210" daList(1949) = "101101001010170129" daList(1950) = "011011001010000217" daList(1951) = "101101010101000206" daList(1952) = "010101011010150127" daList(1953) = "010011011010000214" daList(1954) = "101001011011000203" daList(1955) = "010100101011130124" daList(1956) = "010100101011000212" daList(1957) = "101010010101080131" daList(1958) = "111010010101000218" daList(1959) = "011010101010000208" daList(1960) = "101011010101060128" daList(1961) = "101010110101000215" daList(1962) = "010010110110000205" daList(1963) = "101001010111040125" daList(1964) = "101001010111000213" daList(1965) = "010100100110000202" daList(1966) = "111010010011030121" daList(1967) = "110110010101000209" daList(1968) = "010110101010170130" daList(1969) = "010101101010000217" daList(1970) = "100101101101000206" daList(1971) = "010010101110150127" daList(1972) = "010010101101000215" daList(1973) = "101001001101000203" daList(1974) = "110100100110140123" daList(1975) = "110100100101000211" daList(1976) = "110101010010180131" daList(1977) = "101101010100000218" daList(1978) = "101101101010000207" daList(1979) = "100101101101060128" daList(1980) = "100101011011000216" daList(1981) = "010010011011000205" daList(1982) = "101001001011140125" daList(1983) = "101001001011000213" daList(1984) = "1011001001011A0202" daList(1985) = "011010100101000220" daList(1986) = "011011010100000209" daList(1987) = "101011011010060129" daList(1988) = "101010110110000217" daList(1989) = "100100110111000206" daList(1990) = "010010010111150127" daList(1991) = "010010010111000215" daList(1992) = "011001001011000204" daList(1993) = "011010100101030123" daList(1994) = "111010100101000210" daList(1995) = "011010110010180131" daList(1996) = "010110101100000219" daList(1997) = "101010110110000207" daList(1998) = "100100110110150128" daList(1999) = "100100101110000216" daList(2000) = "110010010110000205" daList(2001) = "110101001010140124" daList(2002) = "110101001010000212" daList(2003) = "110110100101000201" daList(2004) = "010110101010120122" daList(2005) = "010101101010000209" daList(2006) = "101010101101170129" daList(2007) = "001001011101000218" daList(2008) = "100100101101000207" daList(2009) = "110010010101150126" daList(2010) = "101010010101000214" daList(2011) = "101101001010000214" AddYear = tYear RunYue = False
If IsGetGl Then AddMonth = Val(Mid(daList(AddYear), 15, 2)) AddDay = Val(Mid(daList(AddYear), 17, 2)) conDate = DateSerial(AddYear, AddMonth, AddDay) AddDay = tDay For i = 1 To tMonth - 1 AddDay = AddDay + 29 + Val(Mid(daList(tYear), i, 1)) Next i 'MsgBox DateDiff("d", conDate, Date) setDate = DateAdd("d", AddDay - 1, conDate) GetYLDate = setDate tYear = Year(setDate) tMonth = Month(setDate) tDay = Day(setDate) Exit Function End If CHUSHIHUA: AddMonth = Val(Mid(daList(AddYear), 15, 2)) AddDay = Val(Mid(daList(AddYear), 17, 2)) conDate = DateSerial(AddYear, AddMonth, AddDay) setDate = DateSerial(tYear, tMonth, tDay) getDay = DateDiff("d", conDate, setDate) If getDay < 0 Then AddYear = AddYear - 1: GoTo CHUSHIHUA ' addday = NearDay AddDay = 1: AddMonth = 1 For i = 1 To getDay AddDay = AddDay + 1 If AddDay = 30 + Mid(daList(AddYear), AddMonth, 1) Or (RunYue And AddDay = 30 + Mid(daList(AddYear), 13, 1)) Then If RunYue = False And AddMonth = Val("&H" & Mid(daList(AddYear), 14, 1)) Then RunYue = True Else RunYue = False AddMonth = AddMonth + 1 End If AddDay = 1 End If
Next
md$ = "初一初二初三初四初五初六初七初八初九初十十一十二十三十四十五十六十七十八十九二十廿一廿二廿三廿四廿五廿六廿七廿八廿九三十" dd$ = Mid(md$, (AddDay - 1) * 2 + 1, 2) mm$ = Mid("正二三四五六七八九十寒腊", AddMonth, 1) + "月" YouGetDate = DateSerial(AddYear, AddMonth, AddDay) tiangan$ = "甲乙丙丁戊已庚辛壬癸" dizhi$ = "子丑寅卯辰巳午未申酉戌亥" Dim ganzhi(0 To 59) As String * 2 For i = 0 To 59 ganzhi(i) = Mid(tiangan$, (i Mod 10) + 1, 1) + Mid(dizhi$, (i Mod 12) + 1, 1) 'ff$ = ff$ + ganzhi(i) Next i 'MsgBox ff$, , Len(ff$) YLyear = ganzhi((AddYear - 4) Mod 60) shu$ = "鼠牛虎兔龙蛇马羊猴鸡狗猪" YLShuXing = Mid(shu$, ((AddYear - 4) Mod 12) + 1, 1) If RunYue Then mm$ = "闰" + mm$
GetYLDate = mm$ + dd$ Private Sub Command1_Click() Dim ty As Integer, tm As Integer, td As Integer, yl As String, sx As String '取公历1999年10月28日的农历日期 ty = 1999 tm = 10 td = 28 t = GetYLDate(ty, tm, td, yl, sx) MsgBox t MsgBox ty & "-" & tm & "-" & td & " " & yl & " " & sx '取1999年农历十月28的公历日期 t = GetYLDate(ty, tm, td, yl, sx, True) MsgBox t MsgBox ty & "-" & tm & "-" & td & " " & yl & " " & sx
End Sub |
楼层:9 昵称:access911 时间:2005年7月25日17:42:00
程序编制技巧 在VB中使用枚举变量 VB编程技巧几例 使用 IIF 和 SWITCH 以精减代码 变量的地址 向文件中写入非 ASCII 字符 VB中感叹号“!”与圆点“.”的用法差异 0、""(空字串)、Null、Empty、与 Nothing 的区别 巧用Visual Basic的RND()函数 利用 lstrlen 计算中英文混合字串的长度 利用 StrConv 计算中英文混合字串的长度 如何传递不固定个数的叁数?
在VB中使用枚举变量 返回 返回 返回 返回 返回 返回 返回 返回 返回 返回 返回
|
上述言论由发言人自行负责, http://Access911.net 不对该言论负任何责任