Board logo

標題: [發問] 可否用表單方式來建立資料庫? [打印本頁]

作者: q1a2z5    時間: 2011-4-21 15:19     標題: 可否用表單方式來建立資料庫?

可不可以用表單方式來填入資料  ,以建立員工基本資料庫?
如附件
謝謝!
作者: atuan207    時間: 2011-4-21 19:20

本帖最後由 atuan207 於 2011-4-21 20:04 編輯

我自己最近試做的表單方式KEY資料,
因為權限還不夠,不能看大大的附加檔案
所以我自己做的丟上去給你看看
希望有幫助


[attach]5700[/attach]

PS.當中部分程式也是在這問問這邊的前輩才多出來的(新增&刪除)
作者: q1a2z5    時間: 2011-4-26 16:30

回復 2# atuan207


    謝謝你的解答,但我的權限無法下載檔案,請問各位可否用其他方式呈現出來呢?

謝謝!
作者: luhpro    時間: 2011-4-28 00:20

本帖最後由 luhpro 於 2011-4-28 00:27 編輯

嗯...
你已經可以自己建立起自定表單控制項了,
那麼就可以把 UserForm1.TextBox1.Text 等等與 Sheet 中的資料交互對應參照.

命令按鈕 只要 DoubleClick 就會自動建立 sub 把程式鍵進去即可,
執行時則只要點該按鈕就會跑相應的程式.

至於 Sheet 中上下一筆資料的取用方式建議用 Sheet(1).Cells(3,1) 的方式,
其中 Cells(3,1) 表示取用 列 3 欄 1 <即 Range("A3")> 的資料,
而藉由
With Sheet(1)
  .Cells(iRow, 1).value  ' 第一筆資料的姓名
  .Cells(iRow, 2).value  ' 第一筆資料的身份證字號
  .
  .
  .
End With
則只要更改 iRow 就可以取得每一筆資料的內容
作者: hugh0620    時間: 2011-5-27 09:07

多發一點文章~ 集滿50分就可以下載了~
作者: rph    時間: 2011-6-3 16:32

Private Sub Cbo新增資料_Click()
     myarray = Array(Txt姓名.Value, Txt電話.Value, Txt地址.Value)
    [b65536].End(xlUp).Offset(1).Resize(, 3) = myarray   ===>請問左邊這行程式碼,可否幫解釋一下!!
    If Range("A2") = "" Then
        Range("A2") = 1
        Range("A2:A" & Range("B65536").End(xlUp).Row).DataSeries===>請問左邊這行程式碼,可否幫解釋一下!!
    Else
        Range("A" & [a65536].End(xlUp).Row & ":A" & Range("B65536").End(xlUp).Row).DataSeries     ===>請問左邊這行程式碼,可否幫解釋一下!!
    End If
End Sub
作者: luhpro    時間: 2011-6-3 21:11

回復 7# rph
[b65536].End(xlUp) : 從 Range("B65536") 儲存格開始往上找第一個有資料的儲存格, 亦即該欄資料區域的最底下一個.(即按 End 鍵找到的那個)
.Offset(1) : 向下移動一格, 等同 .Offset(1, 0)
.Resize(,3) : 向右擴充選取區域為包含該格共 3 個欄位的儲存格為標的, 等同 .Resize(0, 3)

要知道與儲存格有關的指令用途可以直接貼在即時運算視窗逐步於右邊加上 .Select 就可以看到效果了
例如 : 先打上 [b65536].End(xlUp).Select 看哪個儲存格被選取了,
中間加上 .Offset(1) 變成 [b65536].End(xlUp).Offset(1).Select 繼續觀察... 依此類推.

Range("A2:A" & Range("B65536").End(xlUp).Row).DataSeries
就是以數個(即 "A2:Ax" x=B欄最底一個有資料的儲存格的列編號<藉由 .Row 取得>)儲存格為標地建立資料數列

Range() 右方兩個括弧中間其實就是文字相接, 可以直接 Copy 貼到即時運算視窗再在左方加一個 ? 就可了解,
即 ? "A" & [a65536].End(xlUp).Row & ":A" & Range("B65536").End(xlUp).Row 就知道它是怎麼回事了.

請善用 Mark 命令文字後按 F1 鍵找說明.
作者: zcxzcxz    時間: 2011-8-9 23:45

65536是最大限制的格數
作者: chihlinwu    時間: 2011-8-15 16:22

真是受教了....雖然不能下載....加油




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)