7.[PG3]Accessで、データ入力フォーム作成とメール送信してみよう その2
こちら第7回「プログラマー養成講座」のパート2になります!
目次はこちらからご参照下さい!
'要 Microsoft CDO for Windows 2000
Public Function Mailsend(strFrom As String, strTo As String, strCC As String, strTitle As String, strBody As String, strFilepath As String) As Boolean
Mailsend = True
Exit Function
On Error GoTo Err_Exit
Dim objCDO
Dim MSgw
Mailsend = False
Set objCDO = CreateObject("CDO.Message")
'CDOのスキーマを定義
MSgw = "http://schemas.microsoft.com/cdo/configuration/"
With objCDO.Configuration.Fields
'メール送信方法
.Item(MSgw & "sendusing") = 2
'SMTPサーバーのアドレス
.Item(MSgw & "smtpserver") = "XXX.XXX.XXX.XXX"
'SMTPサーバーのポート
.Item(MSgw & "smtpserverport") = 25
'差出人ユーザー名
.Item(MSgw & "sendusername") = strFrom
'認証コード
'.Item(MSgw & "sendpassword") = "xxxxx"
'SSL認証要
.Item(MSgw & "smtpusessl") = False
'認証方式(1)
.Item(MSgw & "smtpauthenticate") = cdoBasic
'タイムアウト
.Item(MSgw & "smtpconnectiontimeout") = 60
.Update
End With
'差出人メールアドレス
objCDO.from = strFrom
'あて先メールアドレス
objCDO.To = strTo
'CCメールアドレス
objCDO.CC = strCC
'BCCメールアドレス
'objCDO.BCC = ""
'件名
objCDO.Subject = strTitle
'本文
objCDO.TextBody = strBody
'文字化け対応のため追加
objCDO.TextBodyPart.Charset = "ISO-2022-JP"
'添付ファイル
If strFilepath <> "" Then objCDO.AddAttachment strFilepath
objCDO.Send
Mailsend = True
Exit Function
Err_Exit:
'MsgBox Err.Number & ":" & Err.Description, vbOKOnly + vbCritical, "cdoSendMail()"
End Function
Accessファイルを作成して、まず「標準モジュール」・・・
どこだ・・・
「作成」メニュータブの中にありました!
「標準モジュール」で、開いたところに師匠の書いたものをコピペっと。
お題1は、「フォーム」と「テーブル」を作成するところで、単票フォームとかで、データ連携する形にすればいいんですよね。自分の理解だとそうなってますので、進めていきます!
・・・とはいえ、職場にもともとあるAccessファイルを使ったことはありますが、1から作ったことなんてないんですよね。実は・・・。
どっちから作ればいいかわかりませんが、師匠がデータ項目を書いてくれてるので、「テーブル」から作ってみます。
さっき「標準モジュール」つくった「作成」メニュータブに「テーブル」もありますね。
ここに作っていけばいいのかな。「短いテキスト」って50文字あるのかすらわからない・・・。
あ、そうでした。中途半端に「Accessはわかります」って言ったから、調べるってことが頭の中から抜けてました!調べていいんですもんね!
ふむふむ、243文字なら大丈夫ですね!
「長いテキスト」だと4000文字まで設定できる!
「MailBody」だけ「長いテキスト」で、それ以外は「短いテキスト」ですね!
こっちのほうが設定が見やすいですね。下の方にある「フィールドプロパティ」画面の「フィールドサイズ」が文字数になるのかな?
新設設計ですね!「標題」ってところに、日本語のフィールド名を入れたら「テーブル」の作成は終わりかな。ここからやっと「フォーム」の作成ですね。1からフォームを作ったことないからドキドキしますね。
「フォーム」ってところを選択すれば、順番に作成してくれる手順みたいなのが出てくれるとありがたいんだけど・・・。
!?
あれ、できました? これ?
これって、ちゃんとテーブルが作れれば、
割と誰でも簡単にフォームは作れるってことですか。今まで、職場で作ってあるもの使うだけでしたが、これだけ簡単だともう少し他のこともAccessにできそうな気がしますね!
ふむふむ。なるほどです。入力規制は納得なんですけど、「登録」「編集」でメッセージを出したいってなんでですか?
いまいち実感がわきません。エンター押したらすぐ登録の方が楽じゃないでしょうか?なぜ「確認メッセージ」がいるのですか?
なるほど!!
まだ自分は、どこか「研修」「本物じゃない」という認識で作っていましたが、実際の想定ケースを考えると、確かに「確認メッセージ」が必要なときもあるのですね。
あとはじめて具体的な値段の話まで出てきて、ちょっとテンションあがりました!「フォーム」をちゃんとした「ツール」まで完成度を高めるには、まだ時間がかかると思いますが、値段の話が出ると一気に身が引き締まりました!!
ということで、お題1が完了となります!