您好!
使用access來做資料庫,裡頭有甲乙二個資料表,甲是舊值資料,乙是新值資料,分別有6列10欄,假使要從乙資料表的第1列10筆累加資料去搜尋甲資料表有哪一列的資料與乙那一列最相近
好比乙的第一列有10欄,把10欄的值全部平方加起來開根號與甲的每一列也是全部平方加起來開根號做相減,看哪一列最趨近於0,要用vb寫出,把最相近的那一列秀出來
請諸位多幫我想想,謝謝
2006-12-16 09:02:39 · 2 個解答 · 發問者 Anonymous in 電腦與網際網路 ➔ 程式設計
都是乙資料表的某一列去比對甲資料表的每一列,然後秀出甲資料表最趨近0的那一列
2006-12-16 09:37:40 · update #1
假設 dyn1, dyn2 是已開啟的 recordset 分別對應到 甲 和 乙.
10 個欄位 分別叫做 欄位1 ~ 欄位10
name (10) 分別儲存 欄位1 ~ 欄位10 的名字
也就是 name(1) = "欄位1" ~ name(10) = "欄位10"
for i = 1 to 6
sum2 = 0
for k = 1 to 10
sum2 = sum2 + dyn2(name(1))*dyn2(name(1))
next k
sum2 = sqr(sum2)
min = 9999 ' 假設資料的差距沒這麼大
n = 0
dyn1.MoveFirst ' 回甲資料表的第一列
for j=1 to 6
sum1 = 0
for k = 1 to 10
sum1 = sum1 + dyn1(name(1))*dyn1(name(1))
next k
sum1 = sqr(sum1)
dif = abs(sum1-sum2)
if (dif
n = j ' 目前第 n 列最小
endif
dyn1.MoveNext
next j
dyn1.MoveFirst
for j = 1 to n-1 ' 跳過前面 n-1列
dyn1.MoveNext
next j
' 印出 兩資料表的值及差距
print "乙資料表: " & dyn2("欄位1") & " " & dyn2("欄位2") &... & dyn2("欄位10")
print "甲資料表: " & dyn1("欄位1") & " " & dyn1("欄位2") &... & dyn1("欄位10")
print "相差: " & min
dyn2.MoveNext ' 乙資料表的下一列
next i
2006-12-17 23:06:56 · answer #1 · answered by JJ 7 · 0⤊ 0⤋
謝謝上面熱心的您,但是我最大的問題就是要如何從資料表裡頭讀取某一筆數值到vb做運算
也就是您說的假設已經對應到欄位那邊
2006-12-21 17:16:36 · answer #2 · answered by 廣承 1 · 0⤊ 0⤋