none
[ADO] Execute VS Open RRS feed

  • 問題

  • 使用 ADO Library 時,若要進行更新資料,或選取資料錄等操作,可以用 Connection.Execute Command,或用 Recordset.Open Source,例如,要選取 Customers Table 的資料錄,可以:

    Dim RS As New Recordset

    Recordset.Open "SELECT * FROM Customers", Connection

    Dim RS As Recordset

    Set RS = Connection.Execute("SELECT * FROM Customers")

    其實以上兩者,有甚麼分別呢?那一種會較好?

    謝謝!

     

    2006年10月6日 下午 02:44

解答

  • 摘一段線上手冊的說明,這段是 RecordSet.Open 的說明註解,有跟 Connection.Execute 比較,你可以看看 VB6 的中文說明有沒有寫到這,我現在這台 NB 剛重灌,沒有安裝 VB6 。

    mk:@MSITStore:C:\Program%20Files\Common%20Files\Microsoft%20Shared\OFFICE11\1028\ADO210.CHM::/htm/mdmthrstopen.htm

    Remarks

    The default cursor for an ADO Recordset is a forward-only, read-only cursor located on the server.

    Using the Open method on a Recordset object opens a cursor that represents records from a base table, the results of a query, or a previously saved Recordset.

    Use the optional Source argument to specify a data source using one of the following: a Command object variable, an SQL statement, a stored procedure, a table name, a URL, or a complete file path name. If Source is a file path name, it can be a full path ("c:\dir\file.rst"), a relative path ("..\file.rst"), or a URL ("http://files/file.rst").

    It is not a good idea to use the Source argument of the Open method to perform an action query that doesnt return records because there is no easy way to determine whether the call succeeded. The Recordset returned by such a query will be closed. Call the Execute method of a Command object or the Execute method of a Connection object instead to perform a query that, such as a SQL INSERT statement, that doesnt return records.

    The ActiveConnection argument corresponds to the ActiveConnection property and specifies in which connection to open the Recordset object. If you pass a connection definition for this argument, ADO opens a new connection using the specified parameters. After opening the Recordset with a client-side cursor (CursorLocation = adUseClient), you can change the value of this property to send updates to another provider. Or you can set this property to Nothing (in Microsoft Visual Basic) or NULL to disconnect the Recordset from any provider. Changing ActiveConnection for a server-side cursor generates an error, however.

    For the other arguments that correspond directly to properties of a Recordset object (Source, CursorType, and LockType), the relationship of the arguments to the properties is as follows:

    • The property is read/write before the Recordset object is opened.
    • The property settings are used unless you pass the corresponding arguments when executing the Open method. If you pass an argument, it overrides the corresponding property setting, and the property setting is updated with the argument value.
    • After you open the Recordset object, these properties become read-only.
    Note   The ActiveConnection property is read only for Recordset objects whose Source property is set to a valid Command object, even if the Recordset object isn't open.

    If you pass a Command object in the Source argument and also pass an ActiveConnection argument, an error occurs. The ActiveConnection property of the Command object must already be set to a valid Connection object or connection string.

    If you pass something other than a Command object in the Source argument, you can use the Options argument to optimize evaluation of the Source argument. If the Options argument is not defined, you may experience diminished performance because ADO must make calls to the provider to determine if the argument is an SQL statement, a stored procedure, a URL, or a table name. If you know what Source type you're using, setting the Options argument instructs ADO to jump directly to the relevant code. If the Options argument does not match the Source type, an error occurs.

    If you pass a Stream object in the Source argument, you should not pass information into the other arguments. Doing so will generate an error. The ActiveConnection information is not retained when a Recordset is opened from a Stream.

    The default for the Options argument is adCmdFile if no connection is associated with the Recordset. This will typically be the case for persistently stored Recordset objects.

    If the data source returns no records, the provider sets both the BOF and EOF properties to True, and the current record position is undefined. You can still add new data to this empty Recordset object if the cursor type allows it.

    When you have concluded your operations over an open Recordset object, use the Close method to free any associated system resources. Closing an object does not remove it from memory; you can change its property settings and use the Open method to open it again later. To completely eliminate an object from memory, set the object variable to Nothing.

    Before the ActiveConnection property is set, call Open with no operands to create an instance of a Recordset created by appending fields to the Recordset Fields collection.

    If you have set the CursorLocation property to adUseClient, you can retrieve rows asynchronously in one of two ways. The recommended method is to set Options to adAsyncFetch. Alternatively, you can use the "Asynchronous Rowset Processing" dynamic property in the Properties collection, but related retrieved events can be lost if you do not set the Options parameter to adAsyncFetch.

    Note   Background fetching in the MS Remote provider is supported only through the Open method's Options parameter.
    Note   URLs using the http scheme will automatically invoke the Microsoft OLE DB Provider for Internet Publishing. For more information, see Absolute and Relative URLs.
    2006年10月7日 上午 02:26
    版主

所有回覆

  • 我認為用 Connection.Execute() 來產生 Recordset 比較好 .
    因為 Recordset.Open() 會再開一個 Connection,對於 Connection 的管控較為不利 .
    2006年10月7日 上午 12:33
    版主
  • 直接用 RecordSet.Open 也可以不使用 Connection 物件阿~ 這樣還是一條連線。

    我是覺得沒有好壞之分,而是看使用者應用的方式來尋找比較節省資源的方式。

    2006年10月7日 上午 02:15
    版主
  • 摘一段線上手冊的說明,這段是 RecordSet.Open 的說明註解,有跟 Connection.Execute 比較,你可以看看 VB6 的中文說明有沒有寫到這,我現在這台 NB 剛重灌,沒有安裝 VB6 。

    mk:@MSITStore:C:\Program%20Files\Common%20Files\Microsoft%20Shared\OFFICE11\1028\ADO210.CHM::/htm/mdmthrstopen.htm

    Remarks

    The default cursor for an ADO Recordset is a forward-only, read-only cursor located on the server.

    Using the Open method on a Recordset object opens a cursor that represents records from a base table, the results of a query, or a previously saved Recordset.

    Use the optional Source argument to specify a data source using one of the following: a Command object variable, an SQL statement, a stored procedure, a table name, a URL, or a complete file path name. If Source is a file path name, it can be a full path ("c:\dir\file.rst"), a relative path ("..\file.rst"), or a URL ("http://files/file.rst").

    It is not a good idea to use the Source argument of the Open method to perform an action query that doesnt return records because there is no easy way to determine whether the call succeeded. The Recordset returned by such a query will be closed. Call the Execute method of a Command object or the Execute method of a Connection object instead to perform a query that, such as a SQL INSERT statement, that doesnt return records.

    The ActiveConnection argument corresponds to the ActiveConnection property and specifies in which connection to open the Recordset object. If you pass a connection definition for this argument, ADO opens a new connection using the specified parameters. After opening the Recordset with a client-side cursor (CursorLocation = adUseClient), you can change the value of this property to send updates to another provider. Or you can set this property to Nothing (in Microsoft Visual Basic) or NULL to disconnect the Recordset from any provider. Changing ActiveConnection for a server-side cursor generates an error, however.

    For the other arguments that correspond directly to properties of a Recordset object (Source, CursorType, and LockType), the relationship of the arguments to the properties is as follows:

    • The property is read/write before the Recordset object is opened.
    • The property settings are used unless you pass the corresponding arguments when executing the Open method. If you pass an argument, it overrides the corresponding property setting, and the property setting is updated with the argument value.
    • After you open the Recordset object, these properties become read-only.
    Note   The ActiveConnection property is read only for Recordset objects whose Source property is set to a valid Command object, even if the Recordset object isn't open.

    If you pass a Command object in the Source argument and also pass an ActiveConnection argument, an error occurs. The ActiveConnection property of the Command object must already be set to a valid Connection object or connection string.

    If you pass something other than a Command object in the Source argument, you can use the Options argument to optimize evaluation of the Source argument. If the Options argument is not defined, you may experience diminished performance because ADO must make calls to the provider to determine if the argument is an SQL statement, a stored procedure, a URL, or a table name. If you know what Source type you're using, setting the Options argument instructs ADO to jump directly to the relevant code. If the Options argument does not match the Source type, an error occurs.

    If you pass a Stream object in the Source argument, you should not pass information into the other arguments. Doing so will generate an error. The ActiveConnection information is not retained when a Recordset is opened from a Stream.

    The default for the Options argument is adCmdFile if no connection is associated with the Recordset. This will typically be the case for persistently stored Recordset objects.

    If the data source returns no records, the provider sets both the BOF and EOF properties to True, and the current record position is undefined. You can still add new data to this empty Recordset object if the cursor type allows it.

    When you have concluded your operations over an open Recordset object, use the Close method to free any associated system resources. Closing an object does not remove it from memory; you can change its property settings and use the Open method to open it again later. To completely eliminate an object from memory, set the object variable to Nothing.

    Before the ActiveConnection property is set, call Open with no operands to create an instance of a Recordset created by appending fields to the Recordset Fields collection.

    If you have set the CursorLocation property to adUseClient, you can retrieve rows asynchronously in one of two ways. The recommended method is to set Options to adAsyncFetch. Alternatively, you can use the "Asynchronous Rowset Processing" dynamic property in the Properties collection, but related retrieved events can be lost if you do not set the Options parameter to adAsyncFetch.

    Note   Background fetching in the MS Remote provider is supported only through the Open method's Options parameter.
    Note   URLs using the http scheme will automatically invoke the Microsoft OLE DB Provider for Internet Publishing. For more information, see Absolute and Relative URLs.
    2006年10月7日 上午 02:26
    版主
  • 聽說,使用 Recordset.Open 來更新資料,資料不一定會立即更新到資料庫的,而用 Connection.Execute 則會強制資料庫引擎以第一間更新記錄,這是否屬實?
    2006年10月8日 下午 05:23
  • 哪有這回事...

    ADO 看你使用一般更新還是批次更新,當你下達更新指定時,就會更新。

    2006年10月9日 上午 12:23
    版主
  • 吾甫用一己建構之圖書管理資料庫開啟1百多萬筆記錄之資料表,Timer時差皆只有0

    但用以開啟"札_"此一查詢,則有顯著的不同,第二式較慢有一秒左右呢.其式如下:

    Dim RS As New ADODB.Recordset
    Dim cnt As New ADODB.Connection
    Dim s As Date, e As Date
    'cnt = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=V:\backup\圖書管理.mdb;"
    'cnt.Open
    cnt.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=V:\backup\圖書管理.mdb;"
    s = Timer
    RS.Open "SELECT * FROM 札_", cnt
    e = Timer
    Debug.Print e - s
    s = Timer
    Set RS = cnt.Execute("SELECT * FROM 札_")
    e = Timer
    Debug.Print e - s

    結果:

     1.71900000000096
     2.38999999999942

     "札_"查詢(query)的SQL如下:

    SELECT 札.篇ID, 篇.卷, 札.頁, 札.札ID, 札.頁1, 札.札記, 札.備註, 札.類ID, 篇.書ID, 札.原文, 札.跨頁, 札.建立日期, 札.札關聯, 札.編輯日期
    FROM 篇 RIGHT JOIN 札 ON 篇.篇ID = 札.篇ID
    ORDER BY 札.篇ID, 篇.卷, 札.頁, 札.札ID, 札.類ID;

    結果記錄集有82373筆記錄


    天豈去此哉,任真無所先. 如有周公之才之美,使驕且吝,其餘不足觀也矣. 雖多,亦奚以為?



    • 已編輯 任真 2012年5月7日 下午 11:13 補充
    2012年5月7日 下午 11:09
  • 你是放在網路磁碟還是本機?

    論壇是網友平等互助 保證解答請至 微軟技術支援服務


    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。

    2012年5月9日 下午 03:42
  • 熱情兄,別這麼快心冷嘛!

    我是放在本機.

    謝謝您指教.歡迎多多交流.守真謹覆


    天豈去此哉,任真無所先. 如有周公之才之美,使驕且吝,其餘不足觀也矣. 雖多,亦奚以為?

    2012年5月9日 下午 09:53
  • 你開 RS1 跟 RS2 兩變數來收資料看看。

    你第二段的 RS 要先釋放第一段占用的記憶體才開始填入變數,實際上裡面會多個自動的物件操作,這樣比起來時間不準。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務


    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。

    2012年5月10日 下午 02:45
  • 另外別拿別人 ID 開玩笑。也許你喜歡別人拿你 ID 開玩笑,但不代表你可以拿別人 ID 開玩笑,這才是彼此尊重,直到彼此熟到可以拿 ID 開玩笑之前,這也是該有的禮貌。

    論壇是網友平等互助 保證解答請至 微軟技術支援服務


    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。

    2012年5月10日 下午 02:48
  • 先生誤會了 造成先生誤會很抱歉.讀我行文想也非開玩笑的態度.只是感覺先生不必對世情如是感喟罷了.別無他心.得先生如此反應,滿意外的,在下日後也會小心謹言.感謝先生指教

    我系統目前還沒搞定,只能先答此則.關於先生所指之處,待我系統弄好或一段落時,再重測一次.謝謝您.


    天豈去此哉,任真無所先. 如有周公之才之美,使驕且吝,其餘不足觀也矣. 雖多,亦奚以為?

    2012年5月11日 下午 03:34
  • 你不需要對別人的 ID 有任何感慨,ID 只是一個符號。但 ID 就像網友的姓名,別人的姓名請別做文章。

    論壇是網友平等互助 保證解答請至 微軟技術支援服務


    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。


    2012年5月12日 下午 03:46
  • 謝謝心冷兄指教.於ID事弟後會謹言慎行.

    言歸正傳,經兄指導後經測試,結果竟然相反:

    Dim RS1 As New ADODB.Recordset
    Dim RS2 As New ADODB.Recordset

     2.51600000000326
     1.85899999999674

    但若將RS2的New取代掉,則旗鼓相當,然仍可見其些微端倪:

    Dim RS1 As New ADODB.Recordset
    Dim RS2 As ADODB.Recordset

    ....

     2.18700000000536
     2.17199999999866
     
     2.76499999999942
     2.95300000000134

     1.68699999999808
     1.84399999999732
     
     2.01600000000326
     2.88999999999942

    又如:

     2.5
     1.84399999999732

     1.7809999999954
     2.10900000000402
     
     1.93800000000192
     1.84300000000076
    則一下快,一下慢.不知問題出在那,想與我系統有關?

    (ps.我之前在2000 ad Server系統測,目前改用XP SP2.)

    或許也可說明或見證二式應該都差不多吧?是否?


    天豈去此哉,任真無所先. 如有周公之才之美,使驕且吝,其餘不足觀也矣. 雖多,亦奚以為?

    2012年5月16日 上午 05:51
  • 你有安裝 MSDN Library for Visual Studio 98 嗎?

    線上手冊中有完整說明 New 的用途與差異。

    基本上你的 Recordset 是 Connection 建出來的,所以 RS2 不需要 New 。

    至於 CPU 比對,要用 CPU Time ,不能用 Real Time ,用 Real Time 會受即時電腦工作影響,所以不能明確預期。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務


    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。

    2012年5月16日 下午 03:12
  • 感謝心冷兄指教

    在下本科中文,程式全是自修摸來的.所以不是挺透徹

    我只有下載自簡體中文版MSDN,不知是那一版,Visual Strudio 98? 現在不是2010了麼?

    New我所知者只是用它來宣告,則第一次使用此宣告之物件變數時,不必再用Set,餘則尚未詳.感謝冷兄提醒

    我查查看去

    至於CPU Time則前未有概念,不知如何使用?冷兄有暇可否指示,我好再憑以測試看看結果如何.感謝我兄!

    至於Connection出來的若不用New,一樣要用Set派給新值吧?只不知二者效能有無差異.順便一問.請兄勿以在下外行見笑,承蒙不棄,感激在心! 守真敬啟


    天豈去此哉,任真無所先. 如有周公之才之美,使驕且吝,其餘不足觀也矣. 雖多,亦奚以為?

    2012年5月17日 上午 10:46
  • VB6 的線上手冊版本是 MSDN Library for Visual Studio 98 。購買原版軟體裡面有附繁體中文版線上手冊。

    New 代表要建立實體物件,你在執行 Connection 時,會傳回實體物件,所以不需要建立實體物件,讓他在 Set 時被消滅。

    CPU Time 可以看看這個:

    http://tlcheng.twbbs.org/TLCheng/Net/NetList.aspx?Action=Function&Module=31&Function=221

    --

    你要在紙上寫字:

    1. 自己找一張紙 -> New

    2. 拿別人的紙 -> Set

    Connection 會傳回 Recordset ,所以變成你找了一張紙卻要拿別人的紙寫字,所以找一張紙的動作變成多餘,浪費時間的動作。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務


    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。

    2012年5月17日 下午 02:25
  • 感謝心冷兄生動的回答,這樣對咱們這些非專業者,就很易明瞭了.

    剛發現Access2003影像控制項不再支援tif格式檔案,原用之2000卻可以,不知有無解決辦法?(記得VB6和MS Form的Image控制項也不支援.煩惱中...此已超出本題範圍,可以不答.順便一問罷了)

    ps.之所以堅持用tif,因為他是黑白影像檔儲存的最小格式(曾以ACDSee轉檔試過)所以我所掃發之書,若為黑白者,皆以tif存檔,兄若有興趣,不妨一觀:

    http://www.verycd.com/topics/2878453

    再次感謝我兄

    只是所附之網頁對我有點艱深,還得摸索一番,只能先加入書籤了.見諒.仍謝謝您不吝示下,長我見識.任真拜上


    天豈去此哉,任真無所先. 如有周公之才之美,使驕且吝,其餘不足觀也矣. 雖多,亦奚以為?



    • 已編輯 任真 2012年5月19日 上午 08:05 補充
    2012年5月19日 上午 08:01
  • VBA 的控制項本來就只支援 GIF / BMP / JPG / WMF / EMF 。

    Tiff 格式你應該是誤會了,Tiff 格式是框架格式,所以裡面可以放非破壞性壓縮或是破壞性壓縮的圖檔,因此圖檔裡面是自己的檔頭、框架的宣告、圖檔的內容。

    純粹的單一圖檔 Tiff 並非最小,因為他外面還有一個頁框與描述框。

    所以目前沒有軟體會保證支援所有的 Tiff 格式,因為不知道裡面會塞哪種格式。

    黑白影像若使用非破壞性壓縮,可使用二色的 PNG ,Tiff 內嵌的也是這種格式,PNG 實際上是以 GZIP 壓縮演算法去壓縮,使用的是無專利的 GZIP 演算法,定義在 RFC 1952。

    Office 支援那些圖檔格式是看這目錄:

    C:\Program Files\Common Files\microsoft shared\GRPHFLT

    裡面放的是將各種圖檔格式轉換成 Bitmap 使用的格式,.flt 實際上是 .dll ,可以用 Dependency Walker 去觀看。

    所以有哪些過濾器就支援那些圖檔格式,但這些支援與控制項無關,而是 Office 本身對圖檔的支援。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務


    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。

    2012年5月19日 上午 09:01
  • VB6 線上手冊關於 New 的描述

    <sup></sup>Dim 陳述式

    宣告變數,並配置儲存空間。

    語法

    Dim [WithEvents] varname[([subscripts])] [As [New] type] [, [WithEvents] varname[([subscripts])] [As [New] type]] . . .

    Dim 陳述式的語法具有下列幾個單元:

    單元 描述
    WithEvents 選擇性引數。表示 varname物件變數關鍵字,且用來對應 ActiveX 物件所引發的事件。僅適用於物件類別模組中。您可以用 WithEvents 來個別宣告變數,但不可用來建立陣列,也不可與 New
    同時使用
    varname 必要的引數。變數的名稱,遵循標準變數命名規格。
    subscripts 選擇性引數。陣列 變數的維數,最多可宣告到 60 維。 subscripts 引數使用下列語法:
    [lower To] upper [, [lower
    To] upper] . . .
    如果 沒有明確地指示 lower ,下限是由
    Option Base 陳述式所決定。若沒有 Option Base
    陳述式以表示,則下限為零。
    New 選擇性引數。指能使物件隱含宣告的關鍵字。若在宣告物件變數時使用
    New,則在首次引用該物件時就會建立該物件的新執行個體,所以就不必使用 Set 陳述式來指定物件的引用。New
    關鍵字不可以用來宣告內建資料型態的變數,也不可用來宣告依存物件的執行個體,或和
    WithEvents 同時使用。
    type 選擇性引數。 變數的資料型態,可以是ByteBooleanIntegerLongCurrencySingleDoubleDecimal (目前尚未支援)、DateString (只限可變長度字串)、String * length (固定長度字串)、ObjectVariant使用者自訂型態物件型態。使用 As type 子句來分隔每個變數的宣告。

    請注意

    模組層次裏以 Dim 所宣告的變數,該模組所有的程序皆可使用。在程序層次宣告的變數,則只可在該程序中使用。

    在模組或程序層次以 Dim 陳述式來宣告變數的資料型態。舉例來說,下列陳述式宣告一個變數為 Integer

    Dim NumberOfEmployees As Integer
    

    Dim 陳述式也用來宣告變數的物件型態。下列宣告一變數為工作表的新執行個體。

    Dim X As New Worksheet
    

    如果在宣告物件變數時不使用 New 關鍵字,需引用物件的變數前必先以 Set
    陳述式來指定一個已存在的物件。在物件變數尚未指定物件之前,其值為 Nothing,表示它尚未引用任何物件的執行個體。

    可使用 Dim 陳述式加上空白的括號來宣告動態陣列。宣告動態陣列之後,在程序中使用 ReDim
    陳述式來定義陣列的維數和元素數目。若重新宣告一個已使用 PrivatePublic Dim
    等陳述式所明確定義大小的陣列變數,則會發生錯誤。

    如果不指定資料型態或物件型態,且模組中沒有Deftype
    陳述式,變數的預設型態為 Variant

    當變數在初始化時,數值變數的初始值為 0,可變字串初始值為零長度字串 (""),固定長度字串則都填上零。Variant 變數初始值為 Empty。每個使用者自訂型態變數的元素當作分開的變數來初始化。

    附註 在程序中使用 Dim 陳述式時,通常是將 Dim
    陳述式放在程序最開始的地方。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務


    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。

    2012年5月19日 上午 09:03
  • 謝謝心冷兄不吝賜答.然為何我在Access2000時用得很順?我也因此程式及圖片才決定用tif的,現今(剛才又偵錯了一次)確實Access內附的影像控制項(picture)不支援了.用png卻可以,也確實較tif檔小些.

    兄所列支援之檔案也無png,何故此處又可支援?

    只是我若全改為png,那必須轉換至少20萬以上的圖檔了....實在可觀.當然,這也是當初懵懂自摸下必須承受的後遺症呀!日後我會多注意png與tif的問題.至少盡可能改用png以存取黑白檔.謝謝我兄.我再多試試.

    對了 方在程式設計俱樂部見有人討論ASP顯示tif格式的問題

    http://www.programmer-club.com/ShowSameTitleN/aspdotnet/12262.html

    不知在VBA或VB有沒有類似的轉換格式方法?則我不必將20多萬張圖檔一一改成png了?

    還有剛測試,MS Form的Image也不支援png檔(可能如兄所列之格式才支援),只有Access裡的影像控制項支援,如是又將如何?若轉作jpg,則圖檔太大,實在不合效用吧.


    天豈去此哉,任真無所先. 如有周公之才之美,使驕且吝,其餘不足觀也矣. 雖多,亦奚以為?



    • 已編輯 任真 2012年5月19日 上午 10:22 補充
    2012年5月19日 上午 10:07
  • 1. 這是 Access 2010 x86 的線上手冊內容,超出線上手冊的部分,請電洽微軟客服,我也不知道為啥支援 PNG 。

    ms-help://MS.MSACCESS.DEV.14.1028/MS.VBE.DEV.14.1028/VBE.DEV/html/f3objimage.htm

    Image 控制項

    <mshelp:link disambiguator="menu" errorURL="" id="hhobj_1" indexMoniker="!DefaultAssociativeIndex" keywords="f3objImageC" tabIndex="0">請參閱</mshelp:link><mshelp:link disambiguator="menu" errorURL="" id="hhobj_2" indexMoniker="!DefaultAssociativeIndex" keywords="f3objImageX" tabIndex="0">範例</mshelp:link>          <mshelp:link disambiguator="menu" errorURL="" id="hhobj_3" indexMoniker="!DefaultAssociativeIndex" keywords="f3objImageP" tabIndex="0">屬性</mshelp:link>          <mshelp:link disambiguator="menu" errorURL="" id="hhobj_4" indexMoniker="!DefaultAssociativeIndex" keywords="f3objImageM" tabIndex="0">方法</mshelp:link>          <mshelp:link disambiguator="menu" errorURL="" id="hhobj_5" indexMoniker="!DefaultAssociativeIndex" keywords="f3objImageE" tabIndex="0">事件</mshelp:link>          <mshelp:link class="NoLink" disambiguator="menu" errorURL="" id="hhobj_6" indexMoniker="!DefaultAssociativeIndex" keywords="f3objImageS" tabIndex="0">特性</mshelp:link>

    在表單中顯示一張圖片。

    註解

    Image 可以讓您在表單中顯示圖片。例如,您可使用 Image 在個人資料表單中顯示員工照片。

    Image 也可讓您裁剪、放大、和縮小圖片,但不可用來編輯圖片內容。例如,您無法使用 Image
    改變圖片色彩、將圖片設為透明化,或修改圖片的內容。您必須使用影像編輯軟體才能達到此目的。

    Image 支援下列幾種檔案格式:

    • *.bmp
    • *.cur
    • *.gif
    • *.ico
    • *.jpg
    • *.wmf

    備註   您可以在 Label 上顯示圖片,不過 Label
    並不能讓您裁剪、放大、和縮小圖片。

    Image 的預設事件是 Click 事件。

    2.我自己是搭配 IrfanView 這套免費軟體轉格式,他有命令列模式可以呼叫,所以一個目錄搜尋得到檔案列表後,就能逐步轉換為 PNG 。

    3. 關於那篇... 它裡面是直接用 ASP.NET ,跟 ASP 是不一樣的。在 .Net 內建 PictureBox 控制項支援常見的 .tiff, .png 格式,可以用 VB6 呼叫 VBNET 轉換來使用,本版至頂文關於:VB Fusion - Extend Your Visual Basic 6.0 Applications裡面有範例。不過這樣做的話,直接把程式用 VBNET 改寫還比較有意義。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務


    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。

    2012年5月19日 上午 10:30
  • IrfanView這我在學下書時有弄到.現在可試試了.(當初好像要轉djvu檔的緣故)

    敢再請教心冷兄,如是不支援的話(連png也不保險)則我到底要用何格式存黑白檔才合適??實在困惑.


    天豈去此哉,任真無所先. 如有周公之才之美,使驕且吝,其餘不足觀也矣. 雖多,亦奚以為?

    2012年5月19日 上午 11:39
  • 把你的 VB6 升級到 VBNET

    PNG 已經被接受為 W3C 標準圖檔格式,所以從 IE7 以後的瀏覽器及 VBNET 預設都支援。

    大部分網站因為 GIF 專利問題,已經捨 GIF 圖檔改用 PNG + JPG ,這是目前的趨勢。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務


    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。

    2012年5月19日 下午 12:54
  • 非常感謝我兄有問必答!

    既是新趨勢,可以放心使用了.那我就準備將tif改作png檔.以後若有新掃新發之書籍,也會用png來儲存了. 非常感謝您.否則我還不知趨勢如何,也不敢放心改用png而不會影響所掃書圖的品質了!我想,此一重要決策,必定不只我一人受利,日後若有不棄共用我掃書圖者,也將蒙先生厚意,記今日熱腸!


    天豈去此哉,任真無所先. 如有周公之才之美,使驕且吝,其餘不足觀也矣. 雖多,亦奚以為?

    2012年5月19日 下午 01:01
  • 2.我自己是搭配 IrfanView 這套免費軟體轉格式,他有命令列模式可以呼叫,所以一個目錄搜尋得到檔案列表後,就能逐步轉換為 PNG 。

    敢勞心冷兄可否示下如何使用它的命令列?我啟動後並未見此選項.又怕若似"cmd"者(在開始→執行後鍵入運行的那種),恐怕其中所須之語法,又超出我的能力範圍了.慚愧.

    ps.對了,剛才在它的說明中找到「Command line options」這個主題,應即兄所謂的「Command line」「命令列」吧?

    剛才發現在file功能表下有Batch conversion功能,如附圖,則應該不用命令列也可達到轉檔的效果吧(測試,果然!)

    然又有一個問題了,在Access2000用影像控制項開tif,不但可以,且速度很快.何故現在Aceess2003改用png開,速度卻大不如前,大約一秒左右才能秀出圖片...><" 實在叨擾我兄了.

    還有一個問題,即我在ACDSee檔案說明,乃至關鍵字、備註等項目(儲存於ACDSee的資料庫資訊)都有許多keyin的資料,若今轉檔為png,恐怕無法對應,造成損失,不知有無好的辦法,保留諸圖檔的說明資料?(最甚者莫如我查檢《中文大辭典》《漢語大字典》時所做的檔案說明及資料了,因為這會幫助我檢檔,當作電子詞典翻檢之用)

    順便請教我兄,現在我要學,直接學VB6 VB2008還是VBnet比較好呢?


    天豈去此哉,任真無所先. 如有周公之才之美,使驕且吝,其餘不足觀也矣. 雖多,亦奚以為?






    • 已編輯 任真 2012年5月19日 下午 04:41 補充
    2012年5月19日 下午 04:01
  • Visual Basic 自 7.0 版 (含) 以後就是基於 .Net Framework 的 Managed Code 版本. Visual Basic.NET 泛指 7.0 以後的版本.

    可以看一下 [Visual Basic Wiki] 的介紹

    目前 Release 的最新版本是 Visual Basic V10, 也就是俗稱的 Visual Basic 2010.


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2012年5月19日 下午 05:20
    版主
  • 1. 若是你所有圖片都在同一位置,可以直接使用批次轉檔,若是多層目錄,照你先前所說20萬張圖片檔,那就很操了。

    2. Tiff 格式是傳真格式,所以仍有不少軟體會持續支援,甚至微軟的 MODI 只支援 TIFF 。因此選擇上很難說哪一個就能走得更長久。

    3. 理論上處理 png 會比 Tiff 快,因為 Tiff 要剝殼,但是軟體實作結果並不純跟演算法有關。

    4. 這要看 ACDSee 註解放在哪裡,我不使用 ACDSee 這個付費軟體。

    5. VB6 已於 2005/3 被微軟宣告死亡,且 VB6 為 ANSI Window ,是針對 Win9x 設計。VBNET 為 Unicode Window 是針對 WinNT 設計,WinNT 包含 WinNT 3.5x/4.0/2000/XP/2003/Vista/2008/7/8 ,一個目標作業系統已經停產,一個目標作業系統正在運作,這根本不需要考量學哪套吧?最新版本是 VB2010 ,VB11 Beta 已經可以再一些網站抓到,原則上相容 VB2010 ,另外會提供更多功能。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務


    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。

    2012年5月19日 下午 05:35
  • 真是感謝心冷兄您知無不盡且詳徵善誘的解答.師者,所以傳道授業解惑也,君實不愧斯言.(傳道已見前示我不好擅向別人ID作文章,受教,凜遵)

    這下真的麻煩了;但為了因應我主要以Access資料庫運行我的讀書資料庫,所以也只能先遷就png檔了.至於tif,想若那日又須以tif檔運行,再轉回tif格式,是否?

    兄所言甚是,如此作法也只能逐資料夾轉換.但其功能有勾選子資料夾的項目,我的掃描資料庫大概總在掃描資料庫資料夾下(分書館、書藏二大宗,以存借閱與自藏之書籍圖檔),若勾選此項,或許稍補不足,唯其匯出好像只能指定一個目錄,則更不便了.恐怕仍須用到兄所指示之命令列方式.不知如何學習此項操作?以備萬一.

    我也覺得png應是較快.昨稍測試,以tif轉png確實也比tif小許多(尤其大量積累後差異更鉅),只是在Access影像控制項中,至少在2000裡tif檔秀得很快,我沒在2000中用png一起比較,但印象裡好像也有少數用到png檔的,秀圖也不慢呢(如果記得沒錯),如是則恐怕是2003的問題了.(至少目前堪用,也只能先將就了,實在非專業編程人員,我這只是工具,重要還是要讀書的.如得備禮拜一上的專一國文課了先)

    先生不使用ACDSee,我也僅用破解版的.賴著它可以做圖檔資料,檢索頗便.唯不知先生用何種軟體?若是IrfanView,則似乎並無圖檔說明檔案功能,即無法依文字而檢索圖片了.如是如翻閱一本逾萬頁的《中文大辭典》若無資料庫之對照,則幾乎形如大海撈針了.

    VB6最令我頭痛的即其文字方塊竟然無法顯示Unicode碼,咱們中文系的您也知,勢必要用到unicode字碼,甚至新的擴充新細明體字集也不夠呢.在當初我在網上找到「HexUniControls」來用,果然可以顯示unicode字集,但是它要付費.呵呵.想兄也不樂見.

    我VB6初學完後(因為之前買的舊書,想先看,建立概念,且手邊又有VB6專業中文版可練習),即今天打算買本VB 2010及Visual Studio 2010等書來看了.還有SQL的.今天博客來優惠到期,擬買書冊如末所附.或者兄有更好的推薦?感謝兄殷勤!

    SQL那本因為是桂思強先生撰的,我Access的啟蒙師.其亦本文史專科自修程式者.

    我目前在黃沛榮老師處任助理,為主要收入,曾幫老師用Access開發了詞典與諧聲字檢索系統等.老師一直想要以我所做的Access,請編程專家改作一般應用軟體,甚至是手機的模式,以便在一般PC或智慧型手機上運行.見我兄如此古道熱腸,學有專精,不知我兄可有興趣任此工作?與我師黃先生合作?若與家師談妥,我可將其檔案乃至程式碼供兄檢閱,看如何改進為好?一直想找桂先生,但先生近年似乎淡出網路,先前尚有專屬網頁,及常用email,現皆已不能聯繫上了.

    Windows核心原理與實務開發

    特價品,優惠期限至2012/05/20
    資訊高手養成計畫>>網管.程式設計.行動裝置開發.專業認證四大領域完全攻略3本75折!

    78075585元<input class="txt" maxlength="2" name="qty" type="text" value="1" />585有 <button class="btn" type="button">下次再買</button>
    <button class="btn" type="button">取消</button><input name="change_item" type="hidden" value="0010479211" /><input name="item_session" type="hidden" value="T6hdgHHE@nIAADuXA2MAAADj" /><input class="multi" name="Cancel" type="checkbox" value="0010455146" />

    Windows Server 2008 R2安裝與管理

    特價品,優惠期限至2012/05/20
    資訊高手養成計畫>>網管.程式設計.行動裝置開發.專業認證四大領域完全攻略3本75折!

    65075488元<input class="txt" maxlength="2" name="qty" type="text" value="1" />488有 <button class="btn" type="button">下次再買</button>
    <button class="btn" type="button">取消</button><input name="change_item" type="hidden" value="0010455146" /><input name="item_session" type="hidden" value="T6hdgHHE@nIAADuXA2MAAADj" /><input class="multi" name="Cancel" type="checkbox" value="0010465902" />

    Windows Server 2008 R2網路管理與架站

    特價品,優惠期限至2012/05/20
    資訊高手養成計畫>>網管.程式設計.行動裝置開發.專業認證四大領域完全攻略3本75折!

    65075488元<input class="txt" maxlength="2" name="qty" type="text" value="1" />488有 <button class="btn" type="button">下次再買</button>
    <button class="btn" type="button">取消</button><input name="change_item" type="hidden" value="0010465902" /><input name="item_session" type="hidden" value="T6hdgHHE@nIAADuXA2MAAADj" /><input class="multi" name="Cancel" type="checkbox" value="0010491533" />

    Visual Basic 2010程式設計經典(附 VS 2010Express中文版,範例檔,影音教學)

    特價品,優惠期限至2012/05/20
    資訊高手養成計畫>>網管.程式設計.行動裝置開發.專業認證四大領域完全攻略3本75折!

    65075488元<input class="txt" maxlength="2" name="qty" type="text" value="1" />488有 <button class="btn" type="button">下次再買</button>
    <button class="btn" type="button">取消</button><input name="change_item" type="hidden" value="0010491533" /><input name="item_session" type="hidden" value="T6hdgHHE@nIAADuXA2MAAADj" /><input class="multi" name="Cancel" type="checkbox" value="0010497555" />

    SQL SERVER 2008 R2資料庫設計實務(附DVD)

    特價品,優惠期限至2012/05/20
    資訊高手養成計畫>>網管.程式設計.行動裝置開發.專業認證四大領域完全攻略3本75折!

    62075465元<input class="txt" maxlength="2" name="qty" type="text" value="1" />465有 <button class="btn" type="button">下次再買</button>
    <button class="btn" type="button">取消</button><input name="change_item" type="hidden" value="0010497555" /><input name="item_session" type="hidden" value="T6hdgHHE@nIAADuXA2MAAADj" /><input class="multi" name="Cancel" type="checkbox" value="0010456858" />

    程式設計師的自我修養:連結、載入、程式庫

    特價品,優惠期限至2012/05/20
    資訊高手養成計畫>>網管.程式設計.行動裝置開發.專業認證四大領域完全攻略3本75折!

    58075435元<input class="txt" maxlength="2" name="qty" type="text" value="1" />435有 <button class="btn" type="button">下次再買</button>
    <button class="btn" type="button">取消</button><input name="change_item" type="hidden" value="0010456858" /><input name="item_session" type="hidden" value="T6hdgHHE@nIAADuXA2MAAADj" /><input class="multi" name="Cancel" type="checkbox" value="0010491525" />

    Visual Studio 2010 Ultimate軟體工程實戰手冊(附範例檔)

    特價品,優惠期限至2012/05/20
    資訊高手養成計畫>>網管.程式設計.行動裝置開發.專業認證四大領域完全攻略3本75折!

    58075435元<input class="txt" maxlength="2" name="qty" type="text" value="1" />435有 <button class="btn" type="button">下次再買</button>
    <button class="btn" type="button">取消</button><input name="change_item" type="hidden" value="0010491525" /><input name="item_session" type="hidden" value="T6hdgHHE@nIAADuXA2MAAADj" /><input class="multi" name="Cancel" type="checkbox" value="0010520187" />

    挑戰PHP5/MySQL程式設計樂活學(第二版)(適用PHP5~PHP6)

    特價品,優惠期限至2012/05/20
    資訊高手養成計畫>>網管.程式設計.行動裝置開發.專業認證四大領域完全攻略3本75折!

    55075413元<input class="txt" maxlength="2" name="qty" type="text" value="1" />413有 <button class="btn" type="button">下次再買</button>
    <button class="btn" type="button">取消</button><input name="change_item" type="hidden" value="0010520187" /><input name="item_session" type="hidden" value="T6hdgHHE@nIAADuXA2MAAADj" /><input class="multi" name="Cancel" type="checkbox" value="0010500193" />

    Visual Basic 2010基礎必修課(附贈雙光碟)

    特價品,優惠期限至2012/05/20
    資訊高手養成計畫>>網管.程式設計.行動裝置開發.專業認證四大領域完全攻略3本75折!

    53075398元<input class="txt" maxlength="2" name="qty" type="text" value="1" />398有 <button class="btn" type="button">下次再買</button>
    <button class="btn" type="button">取消</button><input name="change_item" type="hidden" value="0010500193" /><input name="item_session" type="hidden" value="T6hdgHHE@nIAADuXA2MAAADj" /><input class="multi" name="Cancel" type="checkbox" value="0010531358" />

    Android 4.X手機/平板電腦程式設計入門、應用到精通(第二版--適用Android 1.X~4.X)(附光碟)

    特價品,優惠期限至2012/06/30
    資訊高手養成計畫>>網管.程式設計.行動裝置開發.專業認證四大領域完全攻略3本75折!

    52075390元<input class="txt" maxlength="2" name="qty" type="text" value="1" />390有 <button class="btn" type="button">下次再買</button>
    <button class="btn" type="button">取消</button><input name="change_item" type="hidden" value="0010531358" /><input name="item_session" type="hidden" value="T6hdgHHE@nIAADuXA2MAAADj" /><input class="multi" name="Cancel" type="checkbox" value="0010448305" />

    系統重灌、調校與資料搶救自己來(附光碟)

    特價品,優惠期限至2012/05/20
    資訊高手養成計畫>>網管.程式設計.行動裝置開發.專業認證四大領域完全攻略3本75折!

    40075300元<input class="txt" maxlength="2" name="qty" type="text" value="1" />300無 <button class="btn" type="button">下次再買</button>
    <button class="btn" type="button">取消</button><input name="change_item" type="hidden" value="0010448305" /><input name="item_session" type="hidden" value="T6hdgHHE@nIAADuXA2MAAADj" /><input class="multi" name="Cancel" type="checkbox" value="0010503044" />

    電腦軟體應用丙級檢定術科:Office2010(2011最新版)(附影音教學光碟)

    特價品,優惠期限至2012/05/20
    資訊高手養成計畫>>網管.程式設計.行動裝置開發.專業認證四大領域完全攻略3本75折!

    40075300


    天豈去此哉,任真無所先. 如有周公之才之美,使驕且吝,其餘不足觀也矣. 雖多,亦奚以為?


    • 已編輯 任真 2012年5月20日 上午 06:25 訂正
    2012年5月20日 上午 06:24
  • Windows核心原理與實務開發 與 程式設計師的自我修養:連結、載入、程式庫 都是屬於進階的書籍, 而且是偏向 C/C++ 的, 這兩本你確定要買嗎 ?


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2012年5月20日 上午 06:30
    版主
  • 天啊 問題又來了

    我漢王OCR增強版(十幾年前買掃描器附贈的)竟然只能讀tif檔而不能讀png檔.這...實在是一波未平一波又起呀!


    天豈去此哉,任真無所先. 如有周公之才之美,使驕且吝,其餘不足觀也矣. 雖多,亦奚以為?

    2012年5月20日 上午 07:11
  • 謝謝Bill兄.我對C和Java也有興趣,只是力有未逮.

    像我讀古文一樣,想挑戰最難的,只怕沒門徑罷了.

    謝謝我兄適時指教,若手頭不允許,這兩本我會先擱著.但「程式設計師的自我修養」此書看書名似乎頗不錯,想對自己有所啟益,至少建立正確的編程觀念.

    有時買進階的書籍,或許不能懂,但讀到時會發現自己還缺什麼基礎未補,循此門路再去找基礎的書籍,或許也是一種權便方法.我自修摸索,懵懵懂懂,皆職此故.當然若能得Bill兄或心冷兄此等先進接引,想必更能事半了!感謝我兄.

    復次謝謝Bill兄,原來VBNet即VB7以後的版本那則是您寫的,我初以為也是心冷兄答覆.粗心怠慢處,還請見諒.對VBNet現在總算有點概念了.


    天豈去此哉,任真無所先. 如有周公之才之美,使驕且吝,其餘不足觀也矣. 雖多,亦奚以為?


    • 已編輯 任真 2012年5月20日 上午 07:33 補充
    2012年5月20日 上午 07:31
  • 建議可以先把這兩篇文整理的索引內容讀過, 應該對建立 .Net 程式的基礎有幫助

    對初心者有助益的 MSDN 文件庫索引整理 (一)

    對初心者有助益的 MSDN 文件庫索引整理 (二)


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2012年5月20日 上午 07:52
    版主
  • 你回文寫得很饒口,看起來很累,有些意思不確定。基本上程式討論就是用字精準,簡單明白即可,當然旁枝末節的語助詞或是你的感慨有沒有看懂就沒差了。

    看你後面的目標跟選的書,整理一下:

    1. 用 Windows 2008 R2 (純 64 bits ,僅有 Oledb / odbc 32 bits driver,那就乾脆捨棄 Access 而直接使用 SQL Server Express 算了)

    2. 前面說過, .png / .tiff 應該都是短時間內不會被埋沒的格式,甚至 MODI 僅支援 .tiff ,MODI 是 Microsoft Office 2003 / 2007 送的一套 OCR 軟體,提供 COM 物件可讓 VB6 / VBNET 操控,達到自動化識別價值。所以 OCR 支援 .tiff 其實在預期中,.png 主要是以取代 .gif 靜態圖檔而存在,大概是 2005 以後的事。

    3. 你先前既然用到 Access 搭配圖檔,那直接在 資料庫 裡面加入你的圖形描述即可,幹嘛要遷就 ACDSee ?在 資料庫 裡面要換副檔名,用 SQL 語法一次就可以換完,現在硬碟很大,也可以選擇兩種都保存,資料庫 那邊就不動,由程式碼動態去換副檔名。

    4. 一般 VB6 解決 日韓繁簡罕 的一般用途,是使用 Unicode 補完計畫 這個免費工具,如果是國學上會碰到的罕用字,那還是直接改用 VBNET 開發,Vista 以後支援 Unicode 5.x ,目前最新的標準是 Unicode 5.2 ,有10萬餘字,所以無法映射到 ANSI 的字元空間。微軟的 Access 、 SQL Server 都是完整直接支援 Unicode 的 資料庫 。諧音字或是造字或是最新字元,基本上直接去行政院研考會的 全字庫 就可以了,這裡遵循國際標準定義新字,比 Windows 的版本還新。 http://www.cns11643.gov.tw/

    5. 一般要跨手機,不管是不是要做成 Apps ,目前比較統一的是做成 HTML5 ,所以你搜尋的範圍組起來就是 Win2008 R2 + ASP.NET + VB2010 + SQL Server Express,要用免費的 VB2010 寫網頁,要灌兩套,不過你在學校,一般學校都有跟微軟簽 CA 3.2,通常包含 Visual Studio Pro. 授權,就可以直接裝 Visual Studio 2010 Pro. 即可。

    6. 委外的話,到隔壁版 千里馬與伯樂專區 貼文。我時間跟國文程度不行,你回的文我看得很吃力。

    7. 書的部分,自己選比較適合,我是看線上手冊那一派的,所以我基本上不買書,會看的書多半是朋友寫的、大師寫的那些,有點像歌迷看書的那種。我不知道為啥你列的書單會有 php5 + MySQL 這本,這裡面差滿遠的,而且 MySQL 只有搭配 Php3 才是完全免費,php4 以後 MySQL 授權問題就很難算,Oracle 買下來後,授權模式又變了,能的話最好別碰。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務


    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。

    2012年5月20日 上午 09:33
  • 感謝心冷兄回文,PHP我不熟,只知是像Linux免費無權責的,所以才想碰,既然得您新的資訊,我就盡量少碰,實在也心力不足.

    我目前也不過在學校兼課,恐怕用其授權的也不便.(怕離校後便不適用了.這點我會留意,或許那天真有需要可請教學校教電腦的老師同事.我老師即用文大的授權版Office,是蠻方便的)

    Access 搭配圖檔,但秀圖操作畢竟較ACDSee困難多了,且受限於Access本身的視窗大小,要搞全螢幕展示也不方便,所以才須配合ACDSee來看圖.而Access內的秀圖,主要是與文本作校對時用的.

    全字庫我知道,只是尚不知如何擅用到自己需要的系統裡,也覺得可惜.要學的實在太多.有時緩不濟急,也徒嘆奈何.

    就是有打算改用SQL,今得兄如是肯定,心也更定了.SQL Server 後面加個Express是什麼意思?是較有介面設計的SQL版麼?(因為印象裡SQL主要是作後台的結構,要像Access這樣有豐富靈活的介面設計與操作,好像比較不足)

    我也常看線上說明.只不過線上說明的組織比較不適合初學,讀起來較費事,主要是在撰寫程式時有疑問才檢閱的.還有它常有中譯有誤或拗口,乃至會錯意的情形,讀來實在很不放心.

    謝謝我兄代我抉擇,那麼日後我的重心就放在「Win2008 R2 + ASP.NET + VB2010 + SQL Server Express」上了.感謝您!

    ps.

    這樣,去掉
    挑戰PHP5/MySQL程式設計樂活學(第二版)(適用PHP5~PHP6)
    Android 4.X手機/平板電腦程式設計入門、應用到精通(第二版--適用Android 1.X~4.X)(附光碟)
    這兩本,就是我今擬購的書單了
    但願「SQL SERVER 2008 R2資料庫設計實務(附DVD)」這本即有兄所謂SQL SERVER EXPRESS的內容.


    天豈去此哉,任真無所先. 如有周公之才之美,使驕且吝,其餘不足觀也矣. 雖多,亦奚以為?


    • 已編輯 任真 2012年5月20日 上午 10:37 補充
    2012年5月20日 上午 10:33
  • SQL 是資料庫查詢語言,與資料庫軟體、版本無關,依照國際標準推出的年份,可能會記做 SQL92、SQL2003 之類,表示資料庫支援 SQL 語法是遵循哪年訂出的標準。

    SQL Server 是微軟買下來的資料庫伺服器,分成多種版本,其中一種版本 Express 是免費版,開發者可以使用 SQL Server Developer 版,但不能做為正式服務。除 Express 外,其他版本是要錢的,可上台灣銀行共同契約查詢 SQL Server 教育版授權價格。一般來說,免費版不夠你用的時候,再考慮付費版。

    Visual Studio 2010 Pro. 裡面有附 SQL Server 2008 R2 Express ,最新的版本是 3 月底發布的 SQL Server 2012 Express ,可直接至微軟下載中心下載安裝。通常 CA 3.2 校園授權中,應該是包含 SQL Server Developer ,詳細授權方案需要跟學校計算機中心負責管理微軟授權的人詢問,最好問他委外的經銷商有沒有提供詢問服務,直接問委外經銷商,一般經驗來說,學校承辦人通常搞不清楚細節。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務


    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。

    2012年5月20日 下午 01:03
  • 選書的討論已偏離主題了,請另開新主題,謝謝。

    學習不是查個 Google 套個書上的範例就算了,而是去熟悉了解每個程式碼背後的意義,否則就算學個幾百年,它也不會是你的。
    =================================
    小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
    雲端學堂Facebook: http://www.facebook.com/studyazure

    2012年5月20日 下午 04:06
    版主