ACCESS97でインポートしたテキストを文字を変換させて新しく修正したテキストを
作成したい流れですがエラーになります。
ご教授お願いします。
ユーザー定期型は定義されていません。
↓チェックとを入れると
Microsoft DAO 3.6 Object Library
↓下記のエラーになります
この名前は既にあるモジュール、プロジェクト、オブジェクトライブラリで使われています。
Private Sub cmd選択_Click()
Dim objExcel As Object
Dim varFilePath As Variant
Dim bln As Boolean
Dim infname As String
Dim TName As String
TName = "取込用"
Call F_ExecuteSQL("DELETE FROM " & TName & "")
Set objExcel = CreateObject("Excel.Application")
varFilePath = objExcel.GetOpenFileName("Microsfot Access (*.txt), *.txt", , "txt選択")
If varFilePath <> False Then
infname = varFilePath
DoCmd.TransferText acImportDelim, "取込定義", TName, infname, True
Call Div
MsgBox "修正したデータを正常出力しました。"
End If
Set objExcel = Nothing
End Sub
Private Sub Div()
Dim infname As String
Dim outfname As String
Dim n_in As Integer
Dim n_out As Integer
Dim tmpREC As typREC
Dim tmpSP As typSpace
Dim tmpNL As typNewLine
Dim tmpStr As String
outfname = myReplaceB(infname, ".txt", ".r.txt")
n_out = FreeFile()
Open outfname For Output As #n_out
n_in = FreeFile()
Open infname For Binary As #n_in
Get #n_in, , tmpNL
Do Until EOF(n_in)
Get #n_in, , tmpREC
tmpStr = myReplaceB(tmpREC.REC400, Chr(0), "")
Print #n_out, tmpStr
'datファイルが改行されてる場合は改行コードを読み捨て
Get #n_in, , tmpSP
Get #n_in, , tmpSP
Get #n_in, , tmpSP
Get #n_in, , tmpSP
Loop
Close #n_in
Close #n_out
End Sub
Function myReplaceB(ByVal myString, ByVal myFind, ByVal myRp)
'Access2000風 replace関数 (Access97、Excel97用)
'「大文字小文字半角全角カタカナひらがな」を区別する 2003/10/11 pPoy
Dim strTmp As String
Dim wk1 As Integer, wk2 As Integer
Dim wk3 As Integer, wk4 As Integer
'準備
If IsNull(myString) Then Exit Function
If IsNull(myFind) Then Exit Function
wk4 = Len(myFind) '検索する文字数
wk3 = Len(myString) '検索対象の文字数
'最初に見つかった位置
wk2 = InStr(1, myString, myFind, vbBinaryCompare)
wk1 = 1 '検索開始位置
'無ければそのまま
If wk2 = 0 Then
myReplaceB = myString
Exit Function
End If
'文字の最後まで置換
Do
strTmp = strTmp & Mid(myString, wk1, wk2 - wk1) & myRp
wk1 = wk2 + wk4
wk2 = InStr(wk1, myString, myFind, vbBinaryCompare)
Loop Until wk2 = 0
strTmp = strTmp & Mid(myString, wk1, wk3)
myReplaceB = strTmp
End Function
No.2ベストアンサー
- 回答日時:
>Call F_ExecuteSQL("DELETE FROM " & TName & "")
の F_ExecuteSQ が関数として設定されているならば、
という条件で、コンパイルして、エラーがでなければ
実行できるはずです。
関数が設定されていないならばNo1のような方法で
簡単に実行できるはずです。
(1)、(2)、(3)以外の他の部分については
エラーが出るのか確認はしていませんが。
No.1
- 回答日時:
(1)
>この名前は既にあるモジュール、プロジェクト、
>オブジェクトライブラリで使われています。
Access 97 ではDAOのバージョンは3.5で、
すでに設定してあるものと思われますが。
参照設定で確認してみてください。
(2)
>Call F_ExecuteSQL("DELETE FROM " & TName & "")
F_ExecuteSQLという関数はどこにも見当たりませんが
どこか標準モジュールにでも定義されているのですか。
(3)
わざわざDAOを設定するならば、
"DELETE FROM " & TName & ""
をSQL文とすると、もしこのSQL文を実行
したいのなら、変数宣言で
Dim db As Database
として、さらに
Set db = DBEngine.Workspaces(0).Databases(0)
として、
db.Execute("DELETE * FROM " & TName & "")
と実行し、
最後に、
db.Close : Set db = Nothing
とするのが普通だと思いますが。
この回答への補足
(2)すいません。モジュールは伐採しております。
(3)ご指摘ありがとうございます。初心者なのでネットから集めたのを
色々混ぜて作ったのですが、やはり普通とは違いますよね・・・
ご指摘ありがとうございます。
ちなみに(1)ですが3.5を設定していればこのコードは出来ますでしょうか?
すいません。変なご質問で
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Excel(エクセル) マクロでテキストファイルを読み込んだ際の最終セルにデータと改行が含まれる問題の改善方法 2 2022/03/25 16:50
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) Excel vbaについての質問 3 2023/04/18 16:14
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データベースファイル(.db)を開...
-
ACCESSのSQLで、NULLかNULLでな...
-
CSVファイルでテキストの改行の...
-
GPTsのデータの維持と閲覧について
-
Accessを開きなおすとテキスト...
-
エクセルのフィルタ抽出が固まる
-
データベースの選定について 要...
-
テキストボックスにコントロー...
-
構文エラー:演算子がありませ...
-
FileMaker Proに近い無料のWeb...
-
ドリームメーカーってどうやっ...
-
警察はスマホに保存した動画や...
-
4進数風なバーコードは何ですか?
-
googleフォームでインストール...
-
顧客データベースを作る場合、...
-
Accessのリンクテーブルについて
-
更新クエリをリンクデータベー...
-
データベース用語「実表」の読み方
-
シートが異なるセル同士を、相...
-
最新の日付とその金額をクエリ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SqlDataReaderでの0件判定
-
bcpで抽出した結果をエクセルに...
-
Transact-SQLでテキストファイ...
-
テキスト取込からのデータ取込...
-
本番環境で応答なし。。。
-
SQL Server 2005 データベース...
-
Accessプロジェクト ストアド...
-
Oracle 8i コンマ(,)を含むデ...
-
SQLサーバー接続 特定のPCがWin...
-
SQLのエラー(~付近に不適切な...
-
PostgreSqlでFunctionの作成に...
-
Access2010 accdbのエラー「ODB...
-
既定のインスタンスと名前付き...
-
ノートンの解約(「ライセンス...
-
Excel-VBAの「しばらくお待ちく...
-
SQL Loaderを使いたい
-
AccessのDAO.ExecuteとDoCmd.Ru...
-
GROUP BYでエラーが発生
-
エクセルマクロで指定範囲内の...
-
ユーザー定義関数内でのsp_exec...
おすすめ情報