access演算法
㈠ Access兩個表格之間怎麼加減,求賜教
如果兩表的關聯記錄屬於屬於一對一(唯一對唯一)的情況,那麼對應的欄位直接加減就可以了。例如
select a.id,(nz(a.數量,0)-nz(b.數量,0)) as ab差量 from a,b where a.id=b.id;
select a.id,(nz(a.數量,0)+nz(b.數量,0)) as ab和量 from a,b where a.id=b.id;
說明:上述語句如果a、b兩表的數量欄位不存空值的情況下nz()函數可以不使用
如果兩表的關聯記錄屬於屬於一對多或多對多的情況,那麼就需要先將多方的記錄匯總成一條記錄,然後再進行一對一互相加減。另外還可以先將a、b兩表的記錄聯合起來,再用關聯欄位進行分組匯總從而實現兩表之間的數據加減。
這里需要提醒一點,涉及多表間的數據匯總,往往需要實施表間連接,但是由於多表連接的笛卡爾輸出規則會導致檢索出來的行數多於實際數據表存儲的記錄,直接匯總的話統計出來的數據就會不正確,因此我們在設計SQL語句時要特別小心避開這個因素的影響以便得到正確的匯總數據。
具體的實現方案,視數據結構與兩表數據相加減的演算法需求的不同會有非常多的變化,需要考慮的問題也很多,這里很難一一講清楚。
㈡ access資料庫能否像excel表格那樣計算函數
ACCESS支持標準的SQL語句,它的計算能力遠比EXCEL強大。
另,ACCESS資料庫的下一級是表,表的下一級是記錄、列,沒有單元格這個概念吧。
如果想學習使用ACCESS計算,你去看一下SQL的書籍,在ACCESS裡面的查詢,可以直接寫SQL語句。
㈢ 關於access中隨機數Rnd(id)
假設可以編寫一個類似RND的函數,其函數演算法是在參數的值上+1,然後寫SQL語句使用這個函數,你說使用了函數的返回的值是屬於哪一個記錄的值?
答案很簡單,原記錄就是原記錄不會改變,只是記錄中的某一個欄位值被改變了。
㈣ asp+access,請提供收銀演算法
5月11日 21:52 看了你說的 你的意思是說吧變數放到資料庫中,然後調出來,作為變數使用對不?
我沒有試過變數放在資料庫中
1。根據你的思想,你要這么做,一定要定義變數。
至於你說的 ,出來的只是一空白, 能確定資料庫連接正確嗎?我認為只要資料庫連接正確,至少能顯示<%=rs("備注")%> 吧?
2。如果只是吧<%=rs("備注")%>信息顯示出來,你應該往資料庫寫的時候用HTMLEncode 轉換 <%=rs("備注")%>等於後邊的 <%=rs("備注")%> 寫到資料庫
讀取的時候<%=rs("備注")%>讀取後 頁面就顯示<%=rs("備注")%>
該回答在5月12日 21:28由回答者修改過
㈤ 用Access開發系統,是否能顯示其演算法說明
演算法通常只對開發者有意義,你要顯示給誰看呢?用戶肯定看不懂,用戶若能看懂演算法也就用不著你來開發系統了。
㈥ access里類型是「貨幣」可不可以用=SUM()之類的演算法
可以,貨幣也是一種數值類型
㈦ ACCESS高手得達到什麼程度
1L不懂別誤人子弟
1.ACCESS高手肯定是要懂VB的(模塊),因為宏的功能有限,有時候有些問題必須自己寫程序編制宏解決。而一個不懂宏的人根本就不能算入了ACCESS的門。宏是ACEESS應用者必須會的知識。因為一個專業的ACCESS資料庫一般都要配置面板和窗體方便用戶使用,而窗體和面板的設計絕對是離不開宏的。這一點,當你學到一定程度自然就有體會了。
2.ACCESS可以做很多事情,比如商品銷售系統,學生管理系統,網站信息管理,個人賬本。。。。。林林總總,只要是和信息整理有關的東西,它都可以做。。我個人來說,喜歡用它記單詞。。整理筆記。。寫個人病歷。。。還有記賬。
㈧ 如何學好Access資料庫編程
好像武俠小說里邊說的:「你的招式忘了沒有?」,回答:「差不多忘了」,「忘了就好」。這與資料庫編程有什麼關系?關系可大了。同志們學過Pascal、BASIC、C(C++)沒有?如果沒有,FOXBASE、FOXPRO應該學過吧?按以上這些語言編程,都是過程化的,說白一點就是一個數據一個數據、一條記錄一條記錄去處理(FOXBASE、FOXPRO不完全這樣,但書上也經常是這樣介紹的),當初我接觸ACCESS 97時,一下子沒有了IF、FOR這些語句(指數據處理),都用SQL語句,真是找不到北了,好在我學SQL語言時,也盡量忘掉這個IF、FOR,到我忘得差不多時,功夫也進了一大步,原來要編一大段程序,現在一兩條SQL語句搞定,就算用多幾條SQL語句,由於是在圖形界面下做,可視化操作,拉拉扯扯,再修改一下生成的SQL語句,也就省事多了。由於ACCESS具備完整的SQL語言(FOXBASE沒有、FOXPRO不完整),我從ACCESS 97開始用ACCESS編程,到現在為止,DAO、ADO很少用,加上最近從愛賽思上接觸的一些技術,基本上不用DAO、ADO都可以了,可以從我的「未完工的庫存管理」中看出,只是在特殊情況下才偶爾用一下。(少用,但不是不用,還得學,不要誤解)如何學好資料庫編程?下面介紹一下本人的一些經驗,僅供參考:1.首先要把原來一個數據一個數據、一條記錄一條記錄的數據處理方式忘掉,越徹底越好。現在用成批處理了。少用記錄集一條記錄一條記錄地處理,盡量用SQL語句。2.學好關系資料庫的理論,尤其是規范化理論,表的設計一定要規范化,最起碼要規范化到第三範式。集合運算(並、交、差)。關系運算(選擇、投影、連接)。其中連接與規范化是緊密結合的。3.運用面向對象的技術:面向對象的分析OOA、面向對象的設計OOD、面向對象的編程OOP,根據表的關系,用窗體和子窗體、報表和子報表,模擬面向對象,這樣可以增加程序的可讀性和可維護性。(這是高級技術,同志們不要輕視,做大項目你就知道有用了)4.用查詢時,通常一步做不出來,可以分幾步做,本人通常是這么做的,從我給網友回復的例子中也可以看得出。為什麼要這樣做?(1)有些是SQL語言的限制,沒辦法一步做出來,逼的;(2)可以檢查每一步查詢的結果,容易調試;(3)增加可讀性,便於日後維護。5.查詢的結果用窗體顯示或用報表列印,兩者的技術差不多。通常改變打開窗體或報表的條件就可控制顯示或列印的記錄范圍。另外用查詢做數據源時,動態改變查詢中的SQL語句,比在查詢中引用窗體的控制項要方便,因為SQL語句生成是在VBA中,可以先存放在字元變數中,然後再更新查詢的SQL語句,這樣就可以用斷點來檢查變數值對不對,如果在查詢中引用窗體的控制項,尤其是包含IIF()函數時,調試是很困難的。6.開發一個系統,首先要解決技術問題,即演算法,用簡單例子,把演算法弄懂了,再詳細設計,這一點從網友的提問中可以看出,有很多人問題表達不清楚,有的人其中夾了很多與演算法無關的東西,尤其是很專業的東西,別人不容易看得明白,由於演算法沒搞清楚,程序就無法編了。7.不要使用過多的工具特性,使用過多的工具特性會使可讀性降低,可維護性差,要別人幫忙時難以得到幫助,更要命的是可移植性差,從MDB到ADP就可以體會到了,所以在編程時可讀性很重要,可移植性更重要,你甘心自己的程序就固定在一個環境下運行嗎?你甘心永遠用一個工具搞開發嗎?
㈨ Access資料庫對象的操作包括哪五種
Access主要對象有數據表、查詢、報表、窗體、宏、模塊。
數據表(Table) ——表是Access資料庫的核心對象,主要是用於存儲數據,是創建其他5種對象的基礎。數據表是以行、列來顯示數據記錄,是同一類數據的集合體。
表由記錄組成,記錄由欄位組成,是Access資料庫中存貯數據的地方,故又稱資料庫。一個資料庫中可以包含一個或多個數據表。
查詢(Query)——根據事先設定的限制條件從一個或多個數據表中檢索除符合條件的數據,並加以統計和分析。查詢可以按索引快速查找到需要的記錄,按要求篩選記錄並能連接若干個表的欄位組成新表。
窗體(Form)——窗體提供了一種方便的瀏覽、輸入及更改數據的窗口。還可以創建子窗體顯示相關聯的表的內容。一方面窗體可以增加錄入過程的趣味性,另一方面也保護了數據的完整性、准確性和安全性。
報表(Report)——報表是用於將將檢索的數據或原始數據以特定的方式顯示出來,報表既可以對數據進行分組,還支持對數據的各種統計和計算。
宏(Macro)——是一個或多個命令的集合,其中每個命令都可以實現特定的功能,通過將這些命令組合起來,可以自動完成某些經常重復或復雜的動作。Access大部分功能是可以通過宏的組合來完成的。
模塊(Mole)——模塊的功能與宏類似,但它定義的操作比宏更精細和復雜,用戶可以根據自己的需要編寫程序。
(9)access演算法擴展閱讀
Access資料庫的優缺點:
Microsoft Access Basic提供了一個豐富的開發環境。這個開發環境給你足夠的靈活性和對Microsoft Windows應用程序介面的控制,同時保護你使你免遭用高級或低級語言開發環境開發時所碰到的各種麻煩。
不過,許多優化、有效數據和模塊化方面只能是應用程序設計者才能使用。開發者應致力於謹慎地使用演算法。除了一般的程序設計概念,還有一些特別的存儲空間的管理技術,正確使用這些技術可以提高應用程序的執行速度,減少應用程序所消耗的存儲資源。
提高速度和減少代碼量
你可以用幾種技巧來提高你的編碼速度,但是卻找不到有效的演算法的替代者。接下來的這幾點建議可以提高你的編碼速度同時又減少你的應用程序消耗的存儲空間。
用整形數進行數學運算
即使Microsoft Access 會使用一個聯合處理器來處理浮點型算術,整型數算術也總是要快一些。當你的計算不含有小數,盡量使用整型或長整型而不是變數或雙整型。整型除法同樣也要比浮點除法要快。在使用其他一些有效的數據類型時會警告:沒有任何東西可以替換有效的運演算法則。
避免使用過程調用
避免在循環體中使用子程序或函數調用。每一次調用都因額外的工作和時間而給編碼增大了負擔。每一次調用都要求把函數的局部變數和參數壓棧,而棧的大小是固定的,不能隨便加大,並且同時還要於Microsoft Access共享。