スポンサーリンク

2009-04-28

ExcelとDAOで販売管理ソフトを作る 社員マスター入力フォーム Step11

登録ボタンが押された場合、まずデータが正常に入力されているかチェックします。

1)氏名は必ず入力されていることにします。 入力されていない場合、エラーメッセージを表示します。
2)各データの入力文字数が、データベースのフィールド文字数以内かチェックします。 
フィールド範囲以上の場合、エラーになるのでこのチェックは必ず必要です。

■社員マスター入力フォーム


■氏名が入力されていない場合のエラー表示フォーム


'キャンセルボタン
Private Sub CommandButton1_Click()
Unload UserForm1
End Sub

'登録ボタン
Private Sub CommandButton2_Click()
If ExDataCheck = False Then
Exit Sub
End If
End Sub

'データのチェック
Private Function ExDataCheck() As Boolean
ExDataCheck = False
If TextBox2.Value = "" Then
MsgBox "氏名は必ず入力してください。"
Exit Function
End If

If Len(TextBox2.Value) > 30 Then
MsgBox "氏名は30文字以内で入力してください。"
Exit Function
End If
If Len(TextBox3.Value) > 30 Then
MsgBox "フリガナは30文字以内で入力してください。"
Exit Function
End If
If Len(TextBox4.Value) > 50 Then
MsgBox "所属は50文字以内で入力してください。"
Exit Function
End If
If Len(TextBox5.Value) > 50 Then
MsgBox "メールは50文字以内で入力してください。"
Exit Function
End If

ExDataCheck = True
End Function

2009-04-18

ExcelとDAOで販売管理ソフトを作る 社員マスターテーブルの作成 Step10

販売管理データベースに「社員マスター」テーブルを追加します。
新規にMDBファイルを作成することになるので、事前に「hanbai2009.mdb」を削除し、このブックを閉じ再度開いてください。

■社員マスターのフィールド
社員ID : オートナンバー型
氏名 : テキスト型(30)
フリガナ : テキスト型(30)
所属 : テキスト型(50)
メール : テキスト型(50)

■完成したテーブル(Accessのデザイン画面)

■テーブル作成コード
Private Function MyMakeSyainMaster(tdb As Database) As Boolean
Dim tbdef As TableDef
Dim fld As Field
Dim idx As DAO.Index
On Error GoTo ErrExit
'テーブル作成
Set tbdef = tdb.CreateTableDef("M_社員マスター")
'フィールドを作成します。
Set fld = tbdef.CreateField("社員ID", dbLong)
'オートナンバー型にします。
fld.Attributes = dbAutoIncrField
tbdef.Fields.Append fld
'フィールド作成
Set fld = tbdef.CreateField("氏名", dbText, 30)
tbdef.Fields.Append fld
Set fld = tbdef.CreateField("フリガナ", dbText, 30)
tbdef.Fields.Append fld
Set fld = tbdef.CreateField("所属", dbText, 50)
tbdef.Fields.Append fld
Set fld = tbdef.CreateField("メール", dbText, 50)
tbdef.Fields.Append fld
'主キーの作成
Set idx = tbdef.CreateIndex("PrimaryKey")
Set fld = idx.CreateField("社員ID", dbLong)
idx.Fields.Append fld
'Primaryプロパティをセット
idx.Primary = True
'インデックスを追加
tbdef.Indexes.Append idx
tdb.TableDefs.Append tbdef
'終了処理
Set fld = Nothing
Set tbdef = Nothing
MyMakeSyainMaster = True
Exit FunctionErrExit:
MyMakeSyainMaster = False
MsgBox "自社情報テーブル作成中にエラーが発生しました。処理を中止します。" & vbNewLine & Err.Description
End Function
■呼び出しコード
If bRet Then
bRet = MyMakeSyainMaster(db)
End If

2009-04-07

ExcelとDAOで販売管理ソフトを作る 仮メニューの作成 Step9

メニュー画面がないと、毎回VBE画面からの実行になるので、仮メニューを作成します。
仮メニューは、オートシェイプ・テキストボックス・コマンドボタンを使って作成しました。
コマンドボタンをクリックすると、作成した自社情報のユーザーフォームを開きます。

■作成した仮メニュー画面


■コマンドボタンのクリックイベント
Option Explicit
Private Sub CommandButton1_Click()
'ユーザーフォームを開く
UserForm1.Show
End Sub