Access的幾個小技巧

一、如果欄位1=0的話顯示欄位2,如果欄位1>1的話顯示欄位3,其他顯示欄位4

IIF([欄位1]=”0”,[欄位2],IIF([欄位1]>”1”, [欄位3], [欄位4])) AS TBL1

二、二個字串格式的時間計算時數(人事薪資系統用計算工時)

DATEDIFF(”h”, CDATE([上班時間]), CDATE([下班時間])) AS WORK_HOUR

使用SQLite Expert將access資料匯入SQLite

因為要撰寫PC轉到手機的程式,所以需要將手上的ACCESS轉到SQLite上。可以使用SQLite Expert這個工具來轉資料,不過需要付費的Professional才有。
sqliteaccess001
點選 Fiel -> New Database
sqliteaccess002
輸入要新建db的路徑,程式會根據database name建立對應的alias
sqliteaccess003

 

建立完成後就看到有新的Database

sqliteaccess004

 

接下來點選上面的 Import/Export->Data Transfer Wizard,會有對話框問你要Export匯出或Import匯入。然後下面是匯入的方式是使用SQL或是ADO data source

sqliteaccess006

接著會問你用什麼方式連線,可以 Use Connection String按Build

sqliteaccess007

 

點選Microsoft Jet 4.0 OLE DB Provider連結access

sqliteaccess008

選取我們要連的db

sqliteaccess009

接著開始匯入

sqliteaccess010

中間會出現login畫面直接按ok

sqliteaccess011

接著會問你要匯入那個table

sqliteaccess012

完成後系統使最後確認

sqliteaccess013

開始匯入資料

sqliteaccess014

匯入完畢後就可以看到塞進去的table跟資料了sqliteaccess015

 

 

Delphi程式建立有密碼的access資料庫

如何直接利用Delphi建立有password的access mdb database?

Use System.Win.ComObj;

procedure TForm1.Button1Click(Sender: TObject);
var cnewmdb:variant;
begin
  // 透過ADOX建立
  cnewmdb := CreateOleObject('ADOX.Catalog');
  cnewmdb.Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\test.MDB;Jet OLEDB:Database Password=''12345678'';' );
  
  // 連線
ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\TT2.MDB;Jet OLEDB:Database Password=''12345678'';';
  ADOConnection1.LoginPrompt:=false;
  ADOConnection1.connected:=true;
end;