関工健児誇りあれ!?

下関のブログです(^^)v 明日見村 MotoG5Plus Windows10 Kindle iPhone Access Excel VBA ALCATEL IDOL4 Zenfone2 ZE551ML CHUWI Hi8 目標は?100kb/s でも読めるアホblog です

ACCESS から EXCEL へ出力! VBA その4 アクセス講座 ~明日見むら~

ACCESS から EXCEL へ出力!

VBA (その4) アクセス講座

 

標準モジュール: mCOM

---

Option Compare Database
Option Explicit

Public Function FUNC_SQL_GET(SQL As String, DAT As String) As String

    Dim DB As Database
    Dim REC As Recordset
   
    Set DB = CurrentDb
   
    Set REC = DB.OpenRecordset(SQL, dbOpenSnapshot)
   
    If Not REC.EOF Then
        FUNC_SQL_GET = Nz(REC(0), "")
    Else
        FUNC_SQL_GET = DAT
    End If
   
    REC.Close
    DB.Close
   
    Set REC = Nothing
    Set DB = Nothing

End Function

---

共通で使う関数を作ってみましょ

共通なので、Public

関数は、Function

関数名、FUNC_SQL_GET

受けパラメータ、(SQL As String, DAT As String)

渡すパラメータ、String、関数名に返されます、FUNC_SQL_GET が文字属性

 

例えば、

Dim xxP As String

xxP = FUNC_SQL_GET("SELECT dbNo FROM T3030_db"), "")

dbNo = 200 だったら

xxP = "200" 文字型の200が帰ってきます

 

T3030_db に、存在するNoかどうか(P-Key)をチェックする時は

If FUNC_SQL_GET(省略) = "" Then

    真、番号が無ければ、そのまま使う

Else

    偽、番号が存在すれば、新しい番号を自動採番する

End If

こんな感じで使ったりします

 

同じ様な関数も存在しますが、自分で組んだほうがシンプルですし、何よりエラー対応が簡単です

関数使って、よく分からないメッセージを返されて調べるくらいなら、汎用的な自分の関数の方が便利です

 

ちなみに、この関数を使用する所は意外と沢山あります

次回は、これを使ってひな形を、もう少し高度にしてみましょ!

---

明日見むら

村長さんでした

(^^)/

asumi-mura

by. Access VBA