SEの転職活動で使うべきサイト・エージェント 目指せ年収アップ
SEの転職活動で使うべきサイト・エージェント 目指せ年収アップ
東南アジアをバックパッカーしながら転職活動をした記録
東南アジアをバックパッカーしながら転職活動をした記録
7年目で初の転職活動 2カ月で内定獲得した記録
7年目で初の転職活動 2カ月で内定獲得した記録
おすすめのプログラミングスクール めざせ就職・年収アップ!
おすすめのプログラミングスクール めざせ就職・年収アップ!
メンズクリア2年通い放題入会! その後のヒゲ状況(不定期更新)
メンズクリア2年通い放題入会! その後のヒゲ状況(不定期更新)
ブログ開始3年が経った月収が1万超えてた!
ブログ開始3年が経った月収が1万超えてた!
プログラミング独学・スクール・就職(目次)
プログラミング独学・スクール・就職(目次)
previous arrowprevious arrow
next arrownext arrow
 
Shadow
SE(システムエンジニア)

RecordSetにテーブルのデータを取得する

C#やVB.netを経験してからVBAを扱うと、DataTableってVBAにはないの?と思ってしまいますよね。

DataTableではなく、RecordSetを使うことで同じような感じで処理ができます。

使い方の備忘録として残しておきます。

テーブルをRecordSetに取得するコード

 

処理としては以下の抜粋から紹介します。

①テーブルからデータをSELECT
②RecordSetへ結果を取得
③csv、tsvに出力

RecordSetからcsv、tsvファイルを出力するAccessのテーブルからtsvファイルを出力しようとしたところ、意外と簡単に出す方法がありませんでした。 備忘録のために残してお...

作成したAccessファイルはこちらからダウンロードできます。

テーブルをRecordSetに取得する書き方

以下のような書き方です。

RecordSetにSELECT結果を格納しているのは13行目です。

'=============================================='
'処理    :csv出力ボタン押下時'
'=============================================='
Private Sub ExportCsv_Click()
  
  Dim db As DAO.Database                  'DBの変数
  Dim RS_Supplier As DAO.Recordset            'レコードセット
  
  'DBをセット
  Set db = CurrentDb
  
  'レコードセットへテーブルのデータを取得
  Set RS_Supplier = db.OpenRecordset(GetSupplier())
  
  'レコードセットをファイル出力
  Call ExportRecordSet(",", RS_Supplier)
  
End Sub

GetSupplier()の中身

SELECT文をGetSupplier()で作成しています。

SQLの知識が必要なので、ゼロからはじめるデータベース操作がおすすめです。

'=============================================='
'目的:    Supplierテーブルからすべてを取得'
'引数:'
'戻り値:   SQL文'
'=============================================='
Public Function GetSupplier() As String
  Dim SB As StringBuilder

  'インスタンス化'
  Set SB = New StringBuilder

  SB.Clear

  SB.AppendLine ("SELECT")
  SB.AppendLine (" * ")
  SB.AppendLine ("FROM Supplier")

  GetSupplier = SB.GetString()
  
End Function

 

VBA C# オススメ参考書プログラミングの参考書でオススメの紹介をしていきます。 それぞれ私が使っている言語のみです。 VBAのオススメ参考書をExc...

StringBuilderについては次で解説しています。

StringBuilderクラス

 

StringBuilderもC#やVB.netには既存であるクラスなのですが、VBAにはありません。

なので簡単に作ってあります。

一つ作っておくと1つのAccessアプリでは使いまわせるので便利です。

'===================================================================='
' StringBuilderクラス'
'--------------------------------------------------------------------'
' create: 2018/02/20'
' update: 2018/02/20'
'===================================================================='
Option Compare Database

'========================================================='
' メンバ宣言'
'========================================================='
' 成形文字列'
Private strString As String

' 改行コード'
Private RTN_CODE As String

'========================================================='
' コンストラクタ'
'========================================================='
Private Sub Class_Initialize()

  ' 初期化'
  strString = ""
  RTN_CODE = Chr(13) & Chr(10)

End Sub

'========================================================='
' 成形した文字列を空文字にする'
'========================================================='
Public Sub Clear()

  strString = ""

End Sub

'========================================================='
' 成形した文字列を取得する'
'---------------------------------------------------------'
' return          成形した文字列'
'========================================================='
Public Function GetString()

  GetString = strString

End Function

'========================================================='
' 文字列を追加'
'---------------------------------------------------------'
' param strAdd       追加する文字列'
'========================================================='
Public Sub Append(ByVal strAdd)

  strString = strString & strAdd

End Sub

'========================================================='
' 文字列を追加'
'---------------------------------------------------------'
' param strAdd       追加する文字列'
'========================================================='
Public Sub AppendLine(ByVal strAdd)

  Append (strAdd & RTN_CODE)

End Sub

 

おすすめのプログラミングスクール めざせ就職・年収アップ! プログラミングを独学でされている人は意外と多いです。 ただ、プログラミングの独学は簡単にはいきません。 自分だけの力...
プログラミング初心者の独学方法 文系卒の経験談 私はIT系の会社に勤めて4年目ですが、最初の1年は開発をさせてもらえませんでした。 文系卒でプログラミング経験はなかったの...
プログラミングの独学とはエラーとの闘い プログラミングを勉強し始めた初心者の方はつまづくことが多いと思います。 私も最初はエラーが出るたびにいちいちビビッて、意味...

・【Excel VBA】コピペ用:簡易StringBuilder
https://qiita.com/OneK/items/4f8ecdb33eac7bc840b5

ABOUT ME
LooseCarrot
LooseCarrot
ブログ運営をしているLooseCarrotです。 興味のあることにトライして発信していきます! プロフィール

関連している記事