好久沒有網路放技術了
感謝主計處長官
今天和大家談談ACCESS的設計小技巧
1 表單是人與機器的連絡介面 , 基本上分
單欄式 : 資料表專用
表格式 : [連續表單 ] 查詢表或資料表皆可使用 , 一般用於查詢表
2 如果要設計上述二表的結合 , 可是有流程的喔
1 先設計單欄式表單 [可自訂或資料表]
2 再設計查詢 [不是表單 , 是物件 , 但是一定要建立好關聯喔]
3 設計準則
4 產生表格式表單
5 修改單欄式表單 [可增加按鈕或增加程式]
3 程式內容
例如 : 自動更新
ME.REFRESH
祝學習快樂
>即時新聞-熱門
2008年12月11日星期四
ACCESS 設計小技巧
2008年9月25日星期四
ACCESS VBA 日曆傳值
Private Sub Calendar7_Click()
Forms![查詢日期]![起始日期].Value = Calendar7.Value
DoCmd.Close
End Sub
ACCESS VBA - 日期
Private Sub 起始日期_LostFocus()
起始日期.Value = Int(Mid(起始日期.Value, 1, 2)) + 1911 & "/" & Month(起始日期.Value) & "/" & Day(起始日期.Value)
End Sub
2008年4月15日星期二
ACCESS 資料庫設計
常常問及資料庫的資料表可否計算
我常見到的手法是利用查詢表完成計算
其實我們可以用表單於整合資料表時
加入欄位間的計算
例如 :
SUB FORM_LOAD()
ME.合計[資料表欄位]=ME.國文+ME.英文+ME.數學
END SUB
很好用喔 試試
2008年4月8日星期二
VBA 自動偵測光碟機
終於學會如何自動偵光碟機代碼
ACCESS 設計時須要運用這樣的技術
希望您一同進步
請參考這網址
http://support.microsoft.com/kb/180766/zh-tw
如果不會使用來信告知
2008年4月2日星期三
ACCESS-資料庫傳送參數
今天使用ACCESS學會了傳送參數的方法
模組 : 這是大家比較不用的區域
試試模組很好用喔
您可以新一個模組
定義新的傳數
例如 :
DIM X AS INTEGER
再至任何表單或報表
建立事件
例如
private sub form_load()
x =1
end sub
您就可以了解變數是全域變數唷
2008年3月30日星期日
ACCESS - 資料防呆設計'
今天使用ACCESS 通常上課老師會教學生使用
上一筆下一筆的巨集精靈設計
但是每到最後一就出現錯誤
現在告訴大家一個方法
就是使用VBA 校正錯誤
請於
docmd.gotorecord,,acnext
docmd.gotorecord,,acfirst
docmd.gotorecord,,acprevious
docmd.gotorecord,,aclast
等程式前方加入下列VBA程式
on error resume next
2008年3月29日星期六
php分頁設計
<?
$read_num="5";
$mem_account=$_REQUEST["mem_account"];
$link=mysql_connect("localhost","root","111111");
mysql_select_db("robin_data",$link);
$str="select count(*) from myitem";
$list =mysql_query($str,$link);
list($disscuss_count) = mysql_fetch_row($list);
$str="select * from myitem ";
$list =mysql_query($str,$link);
?>
<table><tr>
<td colspan="2" bgcolor="#3366CC"><span style="color: #FFFFFF; font-size: 14px;">
請選擇商品頁數<font face="Arial Black"> |
<?
//抓取頁數
$all_page=ceil($disscuss_count/$read_num);
for($i=1;$i<=$all_page;$i++){
echo "<a href='product.php?page_num=$i'> $i </a>|";
}
echo "<a href='product.php?page_num=0'> 全部商品 </a>|";
?>
</font></strong></td>
<td bgcolor="#3366CC"><span style="color: #FFFFFF; font-size: 14px;"><font face="Arial Black">目前第<? echo $page_num ?>頁</font></strong></td>
</tr><tr>
<td width="177" align="center" bgcolor="#3366CC"><div align="center"><span style="color: #FFFFFF; font-size: 18px;"><strong>商品照片</strong></span></div></td>
<td width="454" align="center" bgcolor="#3366CC"><div align="center"><span style="color: #FFFFFF; font-size: 18px;"><strong>商品介紹</strong></span></div></td>
<td width="141" align="center" bgcolor="#3366CC"><div align="center"><span style="color: #FFFFFF; font-size: 18px;"><strong>訂購</strong></span></div></td>
</tr>
<?
//分頁分析
if(empty($page_num))$page_num="1";
$start_num=$read_num*($page_num-1);
if($page_num=0){
$str="select * from myitem limit $start_num,$read_num";
}
else{
$str="select * from myitem ";
}
$list =mysql_query($str,$link);
while(list($item_id,$item_no,$item_name,$item_price,$item_date,$item_co,$item_tel,$item_man,$item_number,$item_memo,$com_date,$fupload,$item_group) = mysql_fetch_row($list)){
echo "<tr><td align='center' ><a href='homeitem.php?item_id=".$item_id."&item_group=".$item_group."'><img src='image/".$fupload."' width='110' height='90' border='0'></a></td><td>".$item_name."<br>".$item_memo."</td><td align='center'><a href='orderitem.php?item_id=".$item_id."&mem_account=".$mem_account."'><img src='image/car.jpg' width='42' height='38' border='0' alt='我要買".$item_name."' ></a></td></tr>";
}
mysql_close($link);
?>
</table>
2008年3月28日星期五
php會員管理全部 - 登入會員
登入會員程式.PHP
<form id="form3" name="form3" method="post" action="檢查會員.php">
<tr>
<td height="64" rowspan="3"><p align="right"><br />
</p> </td>
<td width="169" height="17"> <span class="style2">
<input name="mem_account" type="text" id="mem_account" size="12" />
<br />
<label></label>
</span></td>
</tr>
<tr>
<td height="17"><span class="style2">
<input name="mem_pass" type="password" id="mem_pass" size="12" />
</span></td>
</tr>
<tr>
<td height="25"> <a href="JavaScript:document.form3.submit()"><img src="image/dbtr01.jpg" width="57" height="25" border="0" /></a><a href="../member.php"><img src="image/dbtr02.jpg" width="57" height="25" border="0" /></a></td>
</tr>
<tr></form>
檢查會員.PHP
<?
$link=mysql_connect("localhost","帳號","密碼");
mysql_select_db("robin_data",$link);
$str="select * from member WHERE mem_account='$mem_account' and mem_pass='$mem_pass'";
$list =mysql_query($str,$link);
$num = mysql_fetch_row($list);
if ($num>0){
header("location:memlogin.php?mem_account=$mem_account");
}
else{
header("location:membernot.php"); }
?>
php會員管理全部 - 加入會員
以下是會員管理全部 可以COPY 但是要自己轉半型
加入會員.HTML
<form id="form1" name="form1" method="post" action="檢查重複程式.PHP">
<table width="400" height="400" border="0" align="center" cellpadding="0" cellspacing="0" background="image/dbtadd01.jpg" >
<tr ><td height="20"></td></tr>
<tr><td>
<table width="317" align="center">
<tr>
<td width="110">
會員名稱</td>
<td width="229"><input name="mem_name" id="mem_name" size="20" /></td>
</tr>
<tr>
<td height="22">會員帳號</td>
<td><label>
<input name="mem_account" type="text" id="mem_account" size="20" />
</label></td>
</tr>
<tr>
<td height="20">會員密碼</td>
<td><input name="mem_pass" type="password" id="mem_pass" size="20" /></td>
</tr>
<tr>
<td height="19">確認密碼</td>
<td><input name="check_pass" type="password" id="check_pass" onBlur="check()" size="20"/></td>
</tr>
<tr>
<td height="40">電子郵件</td>
<td colspan="3"><input id="mem_mail" size="30" name="mem_mail" /></td>
</tr>
<tr>
<td> </td>
<td colspan="3"><label>
<a href="JavaScript:document.form1.submit()"><img src="image/dbtm03.jpg" width="106" height="34" border="0" /></a><a href="JavaScript:document.form1.reset()"><img src="image/dbtm04.jpg" width="104" height="34" border="0" /></a>
<div align="center"></div>
</label></td>
</tr>
</table>
</td>
</tr>
</table>
</form>
檢查重複程式.PHP
<?
$mem_account=$_REQUEST["mem_account"];
$link=mysql_connect("localhost","帳號","密碼");
mysql_select_db("robin_data",$link);
$str="select * from member WHERE mem_account= '$mem_account'";
$list =mysql_query($str,$link);
$num = mysql_fetch_row($list);
if ($num>0){
header("location:mem_again.php");
}
else{
$stra="insert into member(mem_name,mem_account,mem_pass,mem_mail,mem_date) values ( '$mem_name', '$mem_account', '$mem_pass', '$mem_mail',now())";
mysql_query($stra);
header("Location:mem_addok.php?shop_account=".$_REQUEST[mem_account]."&mem_account=".$_REQUEST[mem_account]);
}
?>
2008年3月26日星期三
2008年3月25日星期二
SQL select
SELECT
語法:
SELECT [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [DISTINCT | ALL]
select_expression,...
[INTO OUTFILE 'file_name' export_options]
[FROM table_references
[WHERE where_definition]
[GROUP BY col_name,...]
[HAVING where_definition]
[ORDER BY {unsigned_integer | col_name} [ASC | DESC] ,...]
[LIMIT [offset,] rows]
[PROCEDURE procedure_name] ]
範例:
排序輸出
select * from 資料表名 order by 欄位名稱
反向排序輸出
select * from 資料表名 order by 欄位名稱 desc
輸出1-5茟
select * from table LIMIT 5;
MYSQL竹旳資料類型解說
資料型態 說明
TINYINT 有符號的範圍是-128到127,無符號的範圍是0到255。
SMALLINT 有符號的範圍是-32768到32767,無符號的範圍是0到65535。
MEDIUMINT 有符號的範圍是-8388608到8388607,無符號的範圍是0到16777215。
INT 有符號的範圍是-2147483648到2147483647,無符號的範圍是0到4294967295。
INTEGER INT的同義詞。
BIGINT 有符號的範圍是-9223372036854775808到 9223372036854775807,無符號的範圍是0到18446744073709551615。
FLOAT 單精密浮點數字。不能無符號。允許的值是-3.402823466E+38到- 1.175494351E-38,0 和1.175494351E-38到3.402823466E+38。
DOUBLE 雙精密)浮點數字。不能無符號。允許的值是- 1.7976931348623157E+308到-2.2250738585072014E-308、 0和2.2250738585072014E-308到1.7976931348623157E+308。
DOUBLE PRECISION DOUBLE的同義詞。
REAL DOUBLE的同義詞。
DECIMAL DECIMAL值的最大範圍與DOUBLE相同。
NUMERIC DECIMAL的同義詞。
DATE 日期。支援的範圍是'1000-01-01'到'9999-12-31'。
DATETIME 日期和時間組合。支援的範圍是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'
TIMESTAMP 時間戳記。範圍是'1970-01-01 00:00:00'到2037年的某時。
TIME 一個時間。範圍是'-838:59:59'到'838:59:59'。
YEAR 2或4位數字格式的年(內定是4位)。允許的值是1901到2155。
CHAR 固定長度,1 ~ 255個字元。
VARCHAR 可變長度,1 ~ 255個字元。
TINYBLOB
TINYTEXT 最大長度為255(2^8-1)個字符。
MEDIUMBLOB
MEDIUMTEXT 最大長度為16777215(2^24-1)個字符。
LONGBLOB
LONGTEXT 最大長度為4294967295(2^32-1)個字符。
ENUM 一個ENUM最多能有65535不同的值。
SET 一個SET最多能有64個成員。
2008年3月21日星期五
MYSQL的語法
這是這一週休息為了巨匠電腦的網頁設計
有了下列的心得想法 我將MYSQL的語法放在BLOG供大家一同討論學習
1.SELECT * FROM table 查詢每資料表的所有欄位中的記錄
2.UPDATE table SET FILEDS = value 更新指定的欄位內容
3.INSERT INTO table (filed1,filed2,filed3,...,filedn) VALUES (value1,value2,value3,...,valuen) : 新增一筆記錄至某個資料表中
4.DELETE FROM table 刪除指定的資料
mysql 真的簡單 , 只要於上述語法後加入 where 條件則可進行指定的設計
1.SELECT * FROM table WHERE name = 'alex'
2008年3月17日星期一
2008年2月14日星期四
資料庫的問答很管用喔 - ACCESS
大家好這是我最近找到的一些問題 , 我想對大家會有少許幫助喔
您可以按一下到原始網站 , 或是在下面找找有沒有可以解決您的問題的相關知識喔
Q: 因為資料庫的資料皆十分隱密性,請問該如何讓其他使用者無法變更或複製
A: 請設定"工具-保全-使用者及群組的權限"
Q: 篩選了資料記錄後,希望資料工作表檢視顯示出所有資料記錄,請問如何做
A: 在RECORD | APPLY FILER/SORT (EGNLISH VERSION)菜單下,你可以找到恢復所有記錄的MENU
Q: access文字欄位內容長度有無限制
A: 使用文字就只有50個字元的限制,而備忘則無
Q: 資料表設計模式及資料工作表模式,兩者有何不同
A: 簡單來說設計模式就是您可以在其中針對您的資料表做欄位的設定,而資料工作表則是輸入資料的模式
Q: 如何建立單一參數查詢
A: 在您想要用來當作參數的準則儲存格中輸入提示,並以方括號括住提示。例如: <[請輸入查詢姓名:]
Q: 如何使用Access 的指令行參數
A: 例如:下列的指令列會啟動Microsoft Access並開啟獨佔式存取的 我的資料 "C:\Program Files\Microsoft Office\Office\MSAccess.exe" "C:\Program Files\Microsoft Office\Office10\Samples\MYDATA.mdb" /excl
Q: 如何在access中建立樞杻分析表表單
A: 1. 在資料頁的設計檢視中,按一下工具列的"工具箱"
2. 在工具箱中,按一下"Office樞紐分析表"工具
3. 在資料頁中按一下控制項的右上角所要放的位置
4. 選擇資料樞紐分析表清單的資料來源
5. 自訂版面配置
Q: 在access設定主索引有無任何限制
A: 沒有什麼限制在
Q: 如何清除篩選條件
A: 1. 選定您要刪除篩選的表單
2. 切換到進階篩選/排序視窗
3. 在編輯功能表中,按一下清除格線 **記得在動作完成後按一下工具列的"應用篩選"
Q: 當 access 檔案愈來愈大,查詢速度亦變慢,該怎麼辦
A: 建議您可由工具列上之[工具]/[資料庫公用程式]/[壓縮及修復資料庫],來減少您檔案之大小
Q: Access可否編譯成*.exe如何做呢
A: 不可以
Q: asp如何下語法寫資料連線
A: Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\xxx.mdb;Persist Security Info=False
此處的xxx.mdb 為Access檔案名稱
Q: 資料量過多會出現影響開啟Access的速度這種情況嗎?有方法可改進嗎
A: 建議由工具列上之[工具]/[資料庫公用程式]/[壓縮及修復資料庫],來減少您檔案之大小
Q: 如何將多筆TXT檔同時匯入access
A: 用VBA編程: DoCmd.TransferText
Q: 如何自訂切換表單
A: 建議使用切換表單 管理員。
1.在 [工具] 功能表中,指向 [資料庫公用程式],然後請按一下 [切換表單管理員]。
2.如果 Microsoft Access 問是否你要建立切換表單,請按一下 [是]。
3.在 [切換表單管理員] 對話方塊中,按一下 [編輯]。
4.在 [編輯切換表單頁] 對話方塊中,在 [切換表單名稱] 方塊中輸入切換表單的名 稱,然後請按一下 [新增]。
5.在 [編輯切換表單項目] 對話方塊中,文字方塊中,輸入第一個切換表單按鈕的文 字,然後請按一下在指令方塊中的指令。例如,在文字方塊中輸入重新檢視產品,然後 在指令方塊中按一下 [在編輯模式下開啟表單]。
6.取決您按的指令,Microsoft Access 會在指令方塊下面顯示另一方塊。如果有需 要,在此方塊中按一下項目。例如,如果您在步驟 5 的指令方塊中按一下 [在編輯模 式下開啟表單],則在表單方塊中請按一下您要開啟的表單名稱,例如重新檢視產品。 然後請按一下 [確定]。
7.重複步驟 4 至 6 直到您已新增加全部的項目至切換表單中。如果您要編輯或刪除項 目,請在切換表單方塊中按一下 [此切換表單的項目],然後按一下 [編輯] 或 [刪 除]。如果您要重新安排項目,請按一下在方塊中的項目,然後請按一下 [上移] 或 [下移]。
Q: access如何設定可以同時間處理數個資料庫呢
A: 不可以,但你可以LINK到多個數據庫
Q: database一定要設定主索引嗎
A: 不一定要設定主索引,但是若有設定主索引,則查詢該主索引欄位資料時,效能會比較好
Q: Access 2000一個tabel有無規定可放多少筆data
A: 2 gigabyte minus the space needed for the system objects
Q: 什麼是 inpurt mask
A: [inpurt mask]即[輸入遮罩],您可透過此功能,來控制使用者輸入資料之格式
Q: access壓縮是必要的嗎
A: 因Access效能與本身資料庫之大小有關,建議您不定時依資料大小進行壓縮,則有利於您運作之效率,另提醒您平日應作好備份動作,以防萬一
Q: access和sql最大差別在於
A: ACCESS用于個人和小型公司需求 SQL用於企業級公司的需求
Q: 一開啟Access檔令其執行巨集,如何設定
A: 請使用AutoExec macro,命名AutoExec
Q: 用access 2000自動產生每日資料表,目前已有3000多筆資料了,但只要保留中間100~500筆資料,該如何做最快不用一筆一筆delete
A: 請於查詢中執行SQL指令,如: Delete 每日資料表 where 日期 < #2003/6/17#
Q: 我有兩個資料表欄位完全相同,該如何合併成一個資料表
A: 開啟第一個資料表選取所有資料列,再執行編輯/複製,然後開啟第二個資料表,選取最後一列(新增資料列),再執行編輯/貼上 ,則第二個資料表即是合併兩個資料表的結果了
Q: Access中,如何利用 ODBC 來連接外部資料庫
A: 先設定好 ODBC 欲連接的資料來源(如:SQL Server, Oracle...),再於 Access資料表物件中執行連結資料表作業,選取你要的資料表即可
Q: 在Access內如何做才能開啟OLE中的檔案
A: 您所指的OLE中檔案是指何種類型呢?而該檔案是否正處於執行中呢?而您是要透過何種方式來取得資源
Q: 如何做以查詢A欄位(文字型態),有2個bytes以上的資料
A: 於查詢欄位中輸入 Expr1: Len([A欄位]),再於準則中輸入> 2 即可
Q: 可否在查詢中以生日算出年齡,請問在access中有何指令可辦到
A: 於查詢欄位中輸入: Year(Date())-Year([生日])
2008年1月27日星期日
查詢篇【刪除】-ACCESS
2008年1月7日星期一
巨集指令:資料篩選-access
巨集指令:去除空白 - access
1. 選取巨集【類別】 / 選取新增 鈕
2. 選取檢視【功能表】/ 巨集名稱【清單】
3. 輸入巨集名稱 / 設定巨集指令 / 設定指令參數
4. 儲存檔案
巨集指令內容如下:
名稱 指令 參數
去除空白 SetValue 項目 運算式
[欄位名稱] Trim([欄位名稱])
註:欄位名稱為現有的欄位。如:姓名
5. 選擇表單 / 選擇表單內的文字方塊欄位
設定事件內容
事件 名稱 指令
After Update 巨集 . 不留白
2008年1月6日星期日
巨集指令:RunCommand - ACCESS
1. 選取巨集【類別】 / 選取新增 鈕
2. 選取檢視【功能表】/ 巨集名稱【清單】
3. 輸入巨集名稱 / 設定巨集指令 / 設定指令參數
4. 儲存檔案
巨集指令內容如下:
名稱 指令 參數【指令】
新增 RunCommand 記錄新增一筆
復原 RunCommand 復原
刪除 RunCommand 刪除記錄
上一筆 RunCommand 記錄前一筆
註:以上可以共同儲存於一個巨集名稱內

