Format関数を利用する事で VBA で8桁の数値を yyyy/MM/dd形式の日付形式に変換できます。例えば20210101という数値を下記の様に変換する事ができます。
Format(20210101,"@@@@\/@@\/@@")
2021/01/01
データベースから取得した値に対してSQLで行う場合も同様に変換が行えます。
SELECT
Format(カラム名,'@@@@\/@@\/@@') AS 日付
FROM TABLE名
\ は / に対するエスケープのために指定します。
帳票などのデータソースを設定する前にSQLを使って予め日付形式に変換しておく時などに利用できます。
注意点としては、必ず8桁の数値が引数に渡されるようにチェックする必要があります。
例えば、6桁の数値が渡された場合は右詰となり下記のように頭に半角ブランクが2つ付与されたおかしな日付変換の状態で返却されてしまいます。
Format(202101,"@@@@\/@@\/@@")
20/21/01