Microsoft Access 掲示板

テーブル変更後、読み込まなくなりました。

36 コメント
views
4 フォロー

お世話になっております。
T_依頼の[依頼者][依頼理由_1][依頼理由_2][依頼理由_3]の表示コントロールを
コンボボックスからテキストボックスに変更した直後から、それまで読み込まれていた
これら4つのフィールドが読み込まなくなりました(ブランクになってしまいます)
表示コントロールの変更が引き金となっていると思うのですが、、、。
ご教示ください!

'##########################
'### 過去IDの読込を行う ###
'##########################

Private Sub btn過去ID読込_Click()  '「btn過去ID読込」をクリックした時
    Call loadForm                  '読込を呼び出し
End Sub

Private Sub loadForm()  '読込処理
    If IsNull(Me.txt依頼ID.Value) Then Exit Sub  '「txt依頼ID」が空なら

    Me.txt依頼日.Value = Null              '「txt依頼日」をクリア
    Me.cmb依頼者.Value = Null              '「cmb依頼者」をクリア
    Me.cmbWNo.Value = Null                 '「cmbWNo」をクリア
    Me.txt品名.Value = Null                '「txt品名」をクリア
    Me.cmb希望処置.Value = Null            '「cmb希望処置」をクリア
    Me.txtロット番号.Value = Null          '「txtロット番号」をクリア
    Me.cmbロット枝.Value = Null            '「cmbロット枝」をクリア
    Me.txt巻き長さ.Value = Null            '「txt巻き長さ」をクリア
    Me.cmb依頼理由1.Value = Null           '「cmb依頼理由1」をクリア
    Me.cmb依頼理由2.Value = Null           '「cmb依頼理由2」をクリア
    Me.cmb依頼理由3.Value = Null           '「cmb依頼理由3」をクリア
    Me.txt補足説明.Value = Null            '「txt補足説明」をクリア
    Me.txt検品フィードバック.Value = Null  '「txt検品フィードバック」をクリア
    
    On Error GoTo ErrorHandler
    
    Dim strSQL As String
    strSQL = _
     "SELECT [依頼日], [依頼者], [W_No], [品名], [希望処置], [ロット番号], [ロット枝], [巻き長さ], [依頼理由_1], [依頼理由_2], [依頼理由_3], [補足説明], [検品フィードバック] " & _
     "FROM T_依頼 " & _
     "WHERE 依頼ID = '" & Me.txt依頼ID.Value & "';"  'SQLを作成
     
    Dim daoDb As dao.Database
    Set daoDb = CurrentDb
    
    Dim daoRs As dao.Recordset
    Set daoRs = daoDb.OpenRecordset(strSQL)
    
    If daoRs.BOF = True And daoRs.EOF = True Then
      MsgBox "対象レコードがありません。", vbInformation, "確認"
      GoTo Finally  'レコードが無ければ終了
    End If
    
    Me.txt依頼日.Value = daoRs![依頼日]  '抽出したレコードをテキストボックスへ
    Me.cmb依頼者.Value = daoRs![依頼者]
    Me.cmbWNo.Value = daoRs![W_No]
    Me.txt品名.Value = daoRs![品名]
    Me.cmb希望処置.Value = daoRs![希望処置]
    Me.txtロット番号.Value = daoRs![ロット番号]
    Me.cmbロット枝.Value = daoRs![ロット枝]
    Me.txt巻き長さ.Value = daoRs![巻き長さ]
    Me.cmb依頼理由1.Value = daoRs![依頼理由_1]
    Me.cmb依頼理由2.Value = daoRs![依頼理由_2]
    Me.cmb依頼理由3.Value = daoRs![依頼理由_3]
    Me.txt補足説明.Value = daoRs![補足説明]
    Me.txt検品フィードバック.Value = daoRs![検品フィードバック]
    
    Me.btn追加.Enabled = False    '「btn追加」を使用不可に
    Me.btn更新.Enabled = True     '「btn更新」を使用可能に
    Me.btn削除.Enabled = True     '「btn削除」を使用可能に
    Me.txt依頼ID.Enabled = False  '「txt依頼ID」を使用不可に
    GoTo Finally
    
ErrorHandler:  'エラートラップ
    MsgBox "Error #: " & Err.Number & vbNewLine & vbNewLine & _
      Err.Description, vbCritical, "エラー"
      
Finally:
    If Not daoRs Is Nothing Then
      daoRs.Close
      Set daoRs = Nothing
    End If
    If Not daoDb Is Nothing Then
      daoDb.Close
      Set daoDb = Nothing
    End If
End Sub

'######################################
'### 読込終了ボタンをクリックした時 ###
'######################################

Private Sub btn読込終了_Click()
    Call initializeForm
    Call Form_Current
End Sub

'##############################
'### レコード移動時のID採番 ###
'##############################

Private Sub Form_Current()
    Const prefix As String = "C"  '「color」の頭文字 "C"
    
    Dim maxID As String
    maxID = DMax("依頼ID", "T_依頼")  '最終IDを取り出す
    
    Dim lastNum As Long
    lastNum = Replace(maxID, prefix, "")  '最終IDから頭文字"C"を除き、数値型へ代入する
    
    Dim newID As String
    newID = prefix & Format(lastNum + 1, "0000000")  '+1して桁を揃えて頭文字"C"と結合
    
    Me.txt依頼ID.DefaultValue = "'" & newID & "'"  '既定値へ代入
End Sub

'######################################################
'### フォームを開いた時に適用する初期化プロシージャ ###
'######################################################

Private Sub Form_Load()
    Call initializeForm  'フォームを開いたら「初期化プロシージャ」を呼び出す
End Sub

'########################################################################
'### 次ロットボタンをクリックした時に適用する初期化とID採番のプロシージャ ###
'########################################################################

Private Sub btn次ロット_Click()  '「btn次ロット」をクリックした時
    
    Me.txtロット番号.Value = Null  '7項目を初期化
    Me.cmbロット枝.Value = Null
    Me.txt巻き長さ.Value = Null
    Me.cmb依頼理由1.Value = Null
    Me.cmb依頼理由2.Value = Null
    Me.cmb依頼理由3.Value = Null
    Me.txt補足説明.Value = Null
    
    Const prefix As String = "C"  '「color」の頭文字 "C"
    
    Dim maxID As String
    maxID = DMax("依頼ID", "T_依頼")  '最終IDを取り出す
    
    Dim lastNum As Long
    lastNum = Replace(maxID, prefix, "")  '最終IDから頭文字"C"を除き、数値型へ代入する
    
    Dim newID As String
    newID = prefix & Format(lastNum + 1, "0000000")  '+1して桁を揃えて頭文字"C"と結合
    
    Me.txt依頼ID.DefaultValue = "'" & newID & "'"  '既定値へ代入
End Sub

'##########################
'### 初期化プロシージャ ###
'##########################

Private Sub initializeForm()       '初期化

    Me.txt依頼日.Value = Null              '「txt依頼日」をクリア
    Me.cmb依頼者.Value = Null              '「cmb依頼者」をクリア
    Me.cmbWNo.Value = Null                 '「cmbWNo」をクリア
    Me.txt品名.Value = Null                '「txt品名」をクリア
    Me.cmb希望処置.Value = Null            '「cmb希望処置」をクリア
    Me.txtロット番号.Value = Null          '「txtロット番号」をクリア
    Me.cmbロット枝.Value = Null            '「cmbロット枝」をクリア
    Me.txt巻き長さ.Value = Null            '「txt巻き長さ」をクリア
    Me.cmb依頼理由1.Value = Null           '「cmb依頼理由1」をクリア
    Me.cmb依頼理由2.Value = Null           '「cmb依頼理由2」をクリア
    Me.cmb依頼理由3.Value = Null           '「cmb依頼理由3」をクリア
    Me.txt補足説明.Value = Null            '「txt補足説明」をクリア
    Me.txt検品フィードバック.Value = Null  '「txt検品フィードバック」をクリア
    Me.btn追加.Enabled = True              '「btn追加」を使用可能に
    Me.btn更新.Enabled = False             '「btn更新」を使用不可に
    Me.btn削除.Enabled = False             '「btn削除」を使用不可に
    Me.txt依頼ID.Enabled = True            '「txt依頼ID」を使用可能に
End Sub

'###############################
'### txt品名に対する入力補助 ###
'###############################

Private Sub cmbWNo_AfterUpdate()       '「cmbW_No」の更新後処理
    txt品名.Value = cmbWNo.Column(2)   '「txt品名」に2列目を表示。編集不可で設定中
End Sub

'##############################################
'### T_依頼にレコードを入力するプロシージャ ###
'##############################################

Private Sub btn追加_Click()  '「btn追加」をクリックした時

    If IsNull(Me.txt依頼日.Value) _
        Or IsNull(Me.cmb依頼者.Value) _
        Or IsNull(Me.cmbWNo.Value) _
        Or IsNull(Me.cmb希望処置.Value) _
        Or IsNull(Me.txtロット番号.Value) _
        Or IsNull(Me.txt巻き長さ.Value) _
        Or IsNull(Me.cmb依頼理由1.Value) Then   '入力チェック
        MsgBox "必要項目が入力されていません", vbInformation, "確認"
        Exit Sub
    End If
    
    Dim db As dao.Database   'データベースへの参照を代入する変数を宣言する
    Dim rs As dao.Recordset  'レコードセットへの参照を代入する変数を宣言する
    
    Set db = CurrentDb()     '現在のデータベースに接続する
    
    Set rs = CurrentDb.OpenRecordset("T_依頼", dbOpenDynaset)  '「T_依頼」への参照を変数rsに代入する
    
    With rs                                     '「T_依頼」にレコードを入力する
        .AddNew                                 'レコードを入力する
        .Fields("依頼ID") = Me!txt依頼ID
        .Fields("依頼日") = Me!txt依頼日
        .Fields("依頼者") = Me!cmb依頼者.Column(2)
        .Fields("W_No") = Me!cmbWNo.Column(7)
        .Fields("品名") = Me!txt品名
        .Fields("希望処置") = Me!cmb希望処置
        .Fields("ロット番号") = Me!txtロット番号
        .Fields("ロット枝") = Me!cmbロット枝
        .Fields("巻き長さ") = Me!txt巻き長さ
        .Fields("依頼理由_1") = Me!cmb依頼理由1.Column(1)
        .Fields("依頼理由_2") = Me!cmb依頼理由2.Column(1)
        .Fields("依頼理由_3") = Me!cmb依頼理由3.Column(1)
        .Fields("補足説明") = Me!txt補足説明
        .Update                                   'レコードを更新する
    End With
    
    rs.Close  'レコードセットを閉じる
    
    Me.txtロット番号.Value = Null   '「btn追加」をクリックしたら7項目を初期化(連続作業に対応するため)
    Me.cmbロット枝.Value = Null
    Me.txt巻き長さ.Value = Null
    Me.cmb依頼理由1.Value = Null
    Me.cmb依頼理由2.Value = Null
    Me.cmb依頼理由3.Value = Null
    Me.txt補足説明.Value = Null
    
    MsgBox "追加しました", vbInformation, "完了"
    
End Sub

'#######################################################
'### テーブル変更のSQLを実行するFunctionプロシージャ ###
'#######################################################

Public Function tryExecute(strSQL As String) As String  'SQLを実行してメッセージを返す関数
    On Error GoTo ErrorHandler
    
    Dim daoDb As dao.Database
    Set daoDb = CurrentDb  '接続
    
    daoDb.Execute strSQL   '実行
    
    tryExecute = ""   '成功の場合は空の文字列が入る
    
    GoTo Finally      '正常に終了したら接続解除へジャンプ
    
ErrorHandler:   'エラー処理
    tryExecute = "Error #: " & Err.Number & vbNewLine & vbNewLine & Err.Description  'エラーの場合はエラーメッセージが入る
  
Finally:   '接続解除
    If Not daoDb Is Nothing Then
      daoDb.Close
      Set daoDb = Nothing
    End If
End Function

'############################
'### UPDATE文の作成と実行 ###
'############################

Private Sub btn更新_Click()   '「btn更新」のクリックイベントプロシージャ

    Dim strSQL As String
    strSQL = _
      "UPDATE T_依頼 " & _
      "SET " & _
        "[依頼者] = '" & Me.cmb依頼者.Value & "', " & _
        "[W_No] = '" & Me.cmbWNo.Value & "', " & _
        "[品名] = '" & Me.txt品名.Value & "', " & _
        "[希望処置] = '" & Me.cmb希望処置.Value & "', " & _
        "[ロット番号] = '" & Me.txtロット番号.Value & "', " & _
        "[ロット枝] = '" & Me.cmbロット枝.Value & "', " & _
        "[巻き長さ] = '" & Me.txt巻き長さ.Value & "', " & _
        "[依頼理由_1] = '" & Me.cmb依頼理由1.Value & "', " & _
        "[依頼理由_2] = '" & Me.cmb依頼理由2.Value & "', " & _
        "[依頼理由_3] = '" & Me.cmb依頼理由3.Value & "', " & _
        "[補足説明] = '" & Me.txt補足説明.Value & "', " & _
        "[検品フィードバック] = '" & Me.txt検品フィードバック & " ' " & _
      "WHERE 依頼ID = '" & Me.txt依頼ID.Value & "';"            'UPDATE文の作成
      
      Dim errMsg As String
      errMsg = tryExecute(strSQL)  'SQLを実行してメッセージを受け取る
      
      If errMsg <> "" Then                    'メッセージが空ではない(エラーがあった)場合
        MsgBox errMsg, vbCritical, "エラー"   '受け取ったエラーメッセージを出力
        Exit Sub   '終了
      End If
      
      Call loadForm                                  '再度読み込み処理を呼び出す
      MsgBox "更新しました", vbInformation, "完了"   '完了メッセージを出力
End Sub
wazawaza
作成: 2022/05/25 (水) 10:07:11
通報 ...
1

以下の点を提示してください。

そのフォームは非連結フォーム(「レコードソース」プロパティが空欄)ですか。

テキストボックスに変換する前のコンボボックスの下記の設定。
 コントロールソース
 値集合ソース
 連結列
 列数
 列幅

現状のコードに下記のデバック用コードを挿入して実行した後の、イミディエイトウィンドウの結果

Private Sub loadForm()  '読込処理

    '※中略
    
    Me.txt依頼日.Value = daoRs![依頼日]  '抽出したレコードをテキストボックスへ
    Me.cmb依頼者.Value = daoRs![依頼者]
    Debug.Print "daoRs![依頼者]: " & daoRs![依頼者], "cmb依頼者.Value: " &   Me.cmb依頼者.Value  '※デバッグ用コード
    Me.cmbWNo.Value = daoRs![W_No]
    Debug.Print "daoRs![W_No]: " & daoRs![W_No], "cmbWNo.Value: " &   Me.cmbWNo.Value  '※デバッグ用コード

   '※ 以下同様に、テキストボックスに代入するコードの後にデバッグ用コードを追加
2
wazawaza 2022/05/25 (水) 17:24:46

ご回答ありがとうございます。

このフォームは非連結フォームです(「レコードソース」プロパティは空欄)

「T_依頼」のルックアップで、テキストボックスからコンボボックスに変更する前の設定は以下の通り。

フィールド[W_No]
表示コントロール:コンボボックス
値集合ソース:ORDER FILE
連結列:1
列数:8
列幅:0cm;0cm;0cm;0cm;0cm;0cm;0cm;3cm

フィールド[依頼者]
表示コントロール:コンボボックス
値集合ソース:T_着色作業者
連結列:1
列数:3
列幅:0cm;0cm;2cm

フィールド[依頼理由_1][依頼理由_2][依頼理由_3]
表示コントロール:コンボボックス
値集合ソース:T_理由
連結列:1
列数:2
列幅:0cm;4cm

3

それはテーブル「T_依頼」のフィールドのルックアップの設定ですよね。

フォーム上の変更する前のコンボボックスの設定も同じですか。

また、そのルックアップの設定だと、連結列の列幅が0に設定されているので、
そのテーブルをデータシートビューとして開いたとき、表示されていく値と実際に格納されている値は異なるということは理解していますか。

例えば、
フィールド[W_No]
表示コントロール:コンボボックス
値集合ソース:ORDER FILE
連結列:1
列数:8
列幅:0cm;0cm;0cm;0cm;0cm;0cm;0cm;3cm
なら、表示されている値は「ORDER FILE」の8列目の値、格納されている値は1列目の値になります。

格納されている値は、ルックアップの表示コントロールをテキストボックスに変更すると確認できます。

非連結フォームに表示したいのは、表示されている値か、格納されている値のどちらですか。

あと、デバック用コードを挿入して実行した結果も教えてください。

4
wazawaza 2022/05/26 (木) 00:04:24

ありがとうございます!

<フォーム上の変更する前のコンボボックスの設定も同じですか。

<表示されていく値と実際に格納されている値は異なるということは理解していますか。

仰るとおり、テキストボックスに変更後、格納された値にズレが生じました。前述の列数と列幅は、値を
コンボボックス = テキストボックスにするために
変更した現在のコンボボックスの設定です。

<非連結フォームに表示したいのは、表示されている値か、格納されている値のどちらですか。

表示したいのは格納されている値です。

そもそも、何故テキストボックスに変更したかと
申しますと、フォーム上で検索をかけた際に
ルックアップがコンボボックスになっていた
フィールドだけ、検索できなかった為に、
テキストボックスにすれば解決できるかと、
安易に考えた末に至った結論です。

<デバック用コードを挿入して実行した結果も教えてください。

明日以降、試した結果をお知らせします。
よろしくお願いします。

5
wazawaza 2022/05/26 (木) 12:07:39

イミディエイトウィンドウの結果は以下のようになりました。

daoRs![依頼者]: 齋藤        cmb依頼者.Value: 齋藤
daoRs![W_No]: コ01980Z       cmbWNo.Value: コ01980Z
daoRs![品名]: ####品名#### txt品名.Value: ####品名####
daoRs![希望処置]: 検品のみ  cmb希望処置.Value: 検品のみ
daoRs![ロット番号]: A1      txtロット番号.Value: A1
daoRs![ロット枝]:           cmbロット枝.Value: 
daoRs![巻き長さ]: 8888      txt巻き長さ.Value: 8888
daoRs![依頼理由_1]: 表面不良一般          cmb依頼理由1.Value: 表面不良一般
daoRs![依頼理由_2]:         cmb依頼理由2.Value: 
daoRs![依頼理由_3]:         cmb依頼理由3.Value: 
daoRs![補足説明]: ダミー    txt補足説明.Value: ダミー

前に「フォーム上で検索をかけた…」と書きましたが、
これは、テーブル「T_依頼」からクエリ「Q_依頼履歴」を作り、
レコードソース「Q_依頼履歴」からなるフォーム「F_依頼履歴一覧」の中に、
書籍に掲載されていた検索機能を盛り込んだものです。

書籍の作例は、検索フィールドが全てテキストボックスでしたが、
私の製作したものはコンボボックスが3つ出来てしまっています。
これをテキスト形式に変更すれば...といった素人考えから発展した醜態です。
過去データの読込にはコンボボックスの方が望み通りの結果になりますが、
一方の検索では、、、といった感じです。

ならばと、コンボボックスの値もヒットする方法も調べてみましたが
見つかりませんでした。

「F_依頼履歴一覧」の検索コード


Private Sub btn解除_Click()

    Dim db As dao.Database  'データベースへの参照を代入する変数を宣言
    Dim rs As dao.Recordset 'レコードセットへの参照を代入する変数を宣言
    Set db = CurrentDb()    'カレントデータベースを参照
    
    '「Q_依頼履歴」クエリを開きレコードセットを取得
    Set rs = db.OpenRecordset("Q_依頼履歴", dbOpenDynaset)
    
    'フォームのレコードセットを再設定
    Set Me.Recordset = rs
    Me.Requery                   'フォームのデータを更新
    Me.txt検索文字列.Value = ""  '検索文字列を空欄にする
    
End Sub

Private Sub btn検索_Click()

    Dim db As dao.Database  'データベースへの参照を代入する変数を宣言
    Dim rs As dao.Recordset 'レコードセットへの参照を代入する変数を宣言
    Set db = CurrentDb()    'カレントデータベースを参照
    
    '「Q_依頼履歴」クエリを開きレコードセットを取得
    Set rs = db.OpenRecordset("Q_依頼履歴", dbOpenDynaset)
    'コンボボックスで選択されたフィールドでテキストボックスに指定された文字を検索
    rs.Filter = Me.cmb検索.Value & " Like '*" & Me.txt検索文字列.Value & "*'"
    
    'レコードを再取得
    Set rs = rs.OpenRecordset
    
    'フォームのレコードセットを再設定
    Set Me.Recordset = rs
    
    Me.Requery  'フォームのデータを更新
    
End Sub

Private Sub btn並べ替え_Click()

   Dim db As dao.Database  'データベースへの参照を代入する変数を宣言
    Dim rs As dao.Recordset 'レコードセットへの参照を代入する変数を宣言
    Set db = CurrentDb()    'カレントデータベースを参照
    
    '「Q_依頼履歴」クエリを開きレコードセットを取得
    Set rs = db.OpenRecordset("Q_依頼履歴", dbOpenDynaset)
    
    '昇順・降順の確認
    If Me.frm昇降選択.Value = 1 Then
        rs.Sort = Me.cmb並べ替えフィールド.Value
    Else
        rs.Sort = Me.cmb並べ替えフィールド.Value & " DESC"
    End If
    
    Set rs = rs.OpenRecordset  'レコードセットを開く
    Set Me.Recordset = rs      'レコードセットを再設定
    
End Sub
6

デバッグ結果

daoRs![依頼者]: 齋藤        cmb依頼者.Value: 齋藤
daoRs![W_No]: コ01980Z       cmbWNo.Value: コ01980Z
daoRs![品名]: ####品名#### txt品名.Value: ####品名####
daoRs![希望処置]: 検品のみ  cmb希望処置.Value: 検品のみ
daoRs![ロット番号]: A1      txtロット番号.Value: A1
daoRs![ロット枝]:           cmbロット枝.Value: 
daoRs![巻き長さ]: 8888      txt巻き長さ.Value: 8888
daoRs![依頼理由_1]: 表面不良一般          cmb依頼理由1.Value: 表面不良一般
daoRs![依頼理由_2]:         cmb依頼理由2.Value: 
daoRs![依頼理由_3]:         cmb依頼理由3.Value: 
daoRs![補足説明]: ダミー    txt補足説明.Value: ダミー

テキストボックスに値が表示されないというのは、
cmbロット枝, cmb依頼理由2, cmb依頼理由3
のことですか。
だとしたら、コードの問題ではなく、テーブルのフィールド自体に値がないのが原因ですね。

それ以外のテキストボックスで値が表示されないのですか。それはどのテキストボックスですか。

7
wazawaza 2022/05/26 (木) 12:54:28

読込で値が表示されないのは
依頼者、依頼理由1、依頼理由2、依頼理由3です。

今回読込んだレコードのロット枝、依頼理由2、依頼理由3はブランクになっています。

8
りんご 2022/05/26 (木) 14:40:29 c564b@0e907

 横からすみません.

読込で値が表示されないのは、依頼者、依頼理由1、依頼理由2、依頼理由3です。

 その状況で、適当な値を手入力するとどうなりますか?もし、入力出来ないなら、プロパティシートのデータタブだったかと思いますが、編集可否を確認してみるとか。
 あとは問題があるようには見えないので、何か追加情報を出して誰かが運良く気づくのを期待するしかないかと思います。レイアウトビューのスクリーンショットやプロパティシート(データタブ)のスクリーンショットなど。

9

デバッグでは、
daoRs![依頼者]: 齋藤        cmb依頼者.Value: 齋藤
とデータが代入されているのに表示されないのは、ありえない現象ですね。

テキストボックスをもとのコンボボックスに戻すと表示されますか。

あと、
  On Error GoTo ErrorHandler
をコメントアウトして実行した場合、エラーはでますか。

コマンドボタンを追加して、下記のように設定してクリックしたときはどうなりますか。

Private Sub CommandButton1_Click()
    Me.cmb依頼者.Value = "齋藤"
End Sub

10
wazawaza 2022/05/26 (木) 19:02:25

りんごさん
 ありがとうございます!
 プロパテーシートを確認しましたが、編集ロックは「いいえ」でした。

hatenaさん
 コンボボックスに戻すと、しっかり表示されるのです。
 ここは、何回か作り直して確認済みです。
 コマンドボタンを追加したのち、上記を試しましたが
 変化は生じませんでした。

ちょっと気になっている事として、
T_依頼の[依頼者]を以前のようにコンボボックスに戻すと
読み込みで表示される「希望通り」の結果になり、
一方で、コンボボックスの値だけ検索かけてもヒットしないという
「希望通りではない」結果が生み出されています。

コンボボックスを検索ヒットさせる手段はないのでしょうか?

cmb依頼者のプロパティシートのスクショを
2分割にしてみました。何か発見されることを願って,,,

11
wazawaza 2022/05/26 (木) 19:03:28

画像1
画像2