Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


305 / 9994 ←次へ | 前へ→

【13003】Re:ファイル取り込み
発言  M・A・D  - 16/5/7(土) 2:21 -

引用なし
パスワード
   Option Compare Database

Private Sub aJ取り込み_Click()
  On Error GoTo エラー

  Dim strac As String
  Dim strxls As String
  Dim strrange As String
  Dim strmsg As String
  Dim mySQL As String
  Dim strQry As String
    
  strac = "T_Sample&POP"
  strxls = "C:\Documents and Settings\CT207154\デスクトップ\取り込みデータ\●●●.xls" 'エクセルファイルを指定します。
  strrange = "Q_FRM014_EXCEL依頼書出力ヘッダ!" 'データ入力のシート名とセル範囲を指定します。
  strmsg = "aJデータを取り込みますか?" 'MsgBoxのメッセージです。
  mySQL = "DELETE * FROM T_データ格納"
  strQry = "Q_追加_取込aJデータ"


  If MsgBox(strmsg, vbOKCancel, "MS") = vbOK Then
  DoCmd.DeleteObject acTable, strac 'テーブルを削除します。
    '最初のデータをフィールド名として使います。
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, _
                    strac, strxls, True, strrange
    
    DoCmd.RunSQL mySQL 'T_データ格納テーブルを削除します。
    DoCmd.OpenQuery strQry  'データ格納テーブルに取込データを追加します。
    Me.Requery
    Me.Refresh
    
    MsgBox "データ入力は、正常に完了しました。"

  End If

  Exit Sub

エラー:

  Select Case Err.Number

    Case 7874
      'エラーの原因となったステートメントの、
      '次のステートメントからプログラムの実行を再開します。
      Resume Next
    Case Else
      MsgBox "予期せぬエラーが発生しました。" & Chr(13) & Chr(13) & _
          "エラー番号:" & Err.Number & Chr(13) & Chr(13) & _
          "エラー内容:" & Err.Description, 1, "MS"
      End

    End Select
End Sub

Private Sub brand_Change()
Me.Requery
Me.Refresh
End Sub

Private Sub CHKALL_Click()
On Error GoTo Error1

Dim db As DAO.Database
Dim rs As DAO.Recordset

Set db = CurrentDb
Set rs = Me.RecordsetClone

Me.Requery
Me.Refresh
If Me.CHKALL = True Then
rs.MoveFirst
Do Until rs.EOF
rs.Edit
rs!チェック = True
rs.Update
rs.MoveNext
Loop
Else
rs.MoveFirst
Do Until rs.EOF
rs.Edit
rs!チェック = False
rs.Update
rs.MoveNext
Loop
End If
Me.Refresh
rs.Close
Exit Sub

Error1:
MsgBox "もう一度試してみてください。", , "Hitachi Trasport System, Ltd."
End Sub

Private Sub Close_Click()
DoCmd.Quit acQuitSaveAll
End Sub

Private Sub Form_Click()

End Sub


Private Sub import_Click()
  On Error GoTo エラー

  Dim strac As String
  Dim strxls As String
  Dim strrange As String
  Dim strmsg As String
  Dim mySQL As String
  Dim strQry As String
    
  strac = "T_Sample&POP"
  strxls = "C:\Documents and Settings\CT207154\デスクトップ\取り込みデータ\▲▲▲.xls" 'エクセルファイルを指定します。
  strrange = "Q_FRM014_EXCEL依頼書出力ヘッダ!" 'データ入力のシート名とセル範囲を指定します。
  strmsg = "ファイルをインポートします" 'MsgBoxのメッセージです。
  mySQL = "DELETE * FROM T_データ格納"
  strQry = "Q_追加_取込データ"


  If MsgBox(strmsg, vbOKCancel, "MS") = vbOK Then
DoCmd.DeleteObject acTable, strac 'テーブルを削除します。
    '最初のデータをフィールド名として使います。
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, _
                    strac, strxls, True, strrange
    
    DoCmd.RunSQL mySQL 'T_データ格納テーブルを削除します。
    DoCmd.OpenQuery strQry  'データ格納テーブルに取込データを追加します。
    Me.Requery
    Me.Refresh
    
    MsgBox "データ入力は、正常に完了しました。"

  End If

  Exit Sub

エラー:

  Select Case Err.Number

    Case 7874
      'エラーの原因となったステートメントの、
      '次のステートメントからプログラムの実行を再開します。
      Resume Next
    Case Else
      MsgBox "予期せぬエラーが発生しました。" & Chr(13) & Chr(13) & _
          "エラー番号:" & Err.Number & Chr(13) & Chr(13) & _
          "エラー内容:" & Err.Description, 1, "MS"
      End

    End Select
End Sub

Private Sub コマンド49_Click()
Me.Requery
Me.Refresh

End Sub

Private Sub 出力_Click()
On Error GoTo エラー


FileName = "C:\Documents and Settings\CT207154\デスクトップ\送り状ファイル\Sample変換データ" & Forms!F_menu![brand] & "" & Format(Now(), "yyyymmdd") & ".csv"

If MsgBox("抽出するデータにチェックをつけたことを確認してください。変換データを出力しますか?", vbYesNo) = vbYes Then
Me.Requery
Me.Refresh

DoCmd.TransferText acExportDelim, , "Q_出力明細2", FileName

MsgBox "指定のフォルダに保存完了しました。"
Exit Sub
Else
MsgBox "データの出力を中止いたしました!"
End If

Exit Sub
エラー:

  Select Case Err.Number

    Case 7874
      'エラーの原因となったステートメントの、
      '次のステートメントからプログラムの実行を再開します。
      Resume Next
    Case Else
      MsgBox "予期せぬエラーが発生しました。" & Chr(13) & Chr(13) & _
          "エラー番号:" & Err.Number & Chr(13) & Chr(13) & _
          "エラー内容:" & Err.Description, 1, "Microsoft Access Club"
      End

    End Select
End Sub


_____________________________________

ちょっと貼り付けてみました。
大まかにプログラムを説明すると、Excelを取り込むボタンが2種類あってそれぞれ別のExcelを取り込みます。(●●●.xlsと▲▲▲.xls)←中身のデータの並びは一緒です)
エラー内容は前述のとおりで、T_Sample&POP(またはSample&POP)が見つかりませんと表示されます。
変更してしまったファイル名は、一方だけなのですが、どちらのボタンをクリックしてもエラーが表示されてしまいます。
ちなみに、変更してしまった時のファイル名ですが★★★+元のファイル名という形で変更してしまっております。(★★★を取り除いても同様のエラーが出ます)

また、ファイル名を変更してしまい最初にエラーがでたときに、Accessのメニューの外部データの取り込みのインポートやリンクを実行してしまったためにプログラムに余計な行が追加されてしまっているかもしれません。

502 hits

【12996】ファイル取り込み M・A・D 16/5/1(日) 15:22 質問[未読]
【13000】Re:ファイル取り込み M・A・D 16/5/4(水) 20:16 発言[未読]
【13002】Re:ファイル取り込み 亀マスター 16/5/5(木) 23:08 回答[未読]
【13003】Re:ファイル取り込み M・A・D 16/5/7(土) 2:21 発言[未読]
【13004】Re:ファイル取り込み 亀マスター 16/5/7(土) 21:11 回答[未読]
【13005】Re:ファイル取り込み M・A・D 16/5/8(日) 2:36 発言[未読]
【13006】Re:ファイル取り込み 亀マスター 16/5/8(日) 5:47 回答[未読]
【13007】Re:ファイル取り込み M・A・D 16/5/8(日) 22:51 発言[未読]
【13008】Re:ファイル取り込み 亀マスター 16/5/9(月) 0:27 回答[未読]
【13009】Re:ファイル取り込み M・A・D 16/5/9(月) 22:45 お礼[未読]

305 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078267
(SS)C-BOARD v3.8 is Free