メニューの作成

  メニュー用テーブル



ただでさえやっかいな Access。メニューぐらいは楽をしましょう

列名 デフォルト NULL可 最大桁 精度 SCALE  
1 連番   False 3 adInteger INT   10   4 バイトの符号付き整数
2 分類   True 130 adWChar VARCHAR 20     Null で終了する Unicode 文字列
3 タイトル   True 130 adWChar VARCHAR 50     Null で終了する Unicode 文字列
4 フォーム名   True 130 adWChar VARCHAR 50     Null で終了する Unicode 文字列
5 ソート 0 True 3 adInteger INT   10   4 バイトの符号付き整数

連番は オートナンバー型 です



  フォームのプロパティ



以下が関係するブロパティです

名称
1 規定のビュー 帳票フォーム
2 ビュー設定 フォーム
3 スクロールバー 垂直のみ
4 レコードセレクタ いいえ
5 移動ボタン いいえ
6 区切り線 いいえ
7 フィルタの使用 はい
8 更新の許可 はい
9 削除の許可 いいえ
10 追加の許可 いいえ

フォームフッターは使用していません



  必要なコントロール

フォームヘッダに「非連結コンボボックス」が一つ

詳細には、タイトルとフォーム名に連結したテキストボックスが有り、タイトルは編集ロックされており、フォーム名のほうは非表示。さらに実行用のボタンが一つ

コンボボックスは、以下のクエリーがセットされた1列の表示です

  
SELECT DISTINCT T_メニュー.分類
FROM T_メニュー;
  



  Visual Basic のコード

  
Private Sub cmb選択_AfterUpdate()

' -----------------------------------------------------
' 表示書き換えのちらつき防止
' -----------------------------------------------------
    Me.Section(0).Visible = False
    
    If Not IsNull(Me.cmb選択.Value) Then
        
        Me.Undo
        Me.FilterOn = False
        Me.Filter = "分類 = " & Ss(Me.cmb選択.Value)
        Me.FilterOn = True
    
    End If

    Me.Section(0).Visible = True

End Sub

Private Sub Form_Load()

    Me.cmb選択.Value = "メイン"
    cmb選択_AfterUpdate

End Sub

Private Sub 実行_Click()

    If Me.実行フォーム.Value <> "" Then
        If Left(Me.実行フォーム.Value, 3) = "PR_" Then
            DoCmd.OpenReport Me.実行フォーム.Value, acViewPreview
        End If
        If Left(Me.実行フォーム.Value, 2) = "F_" Then
            DoCmd.OpenForm Me.実行フォーム.Value
        End If
        
    End If

End Sub
  










  infoboard   管理者用   
このエントリーをはてなブックマークに追加





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ