Microsoft Access Club Access超初心者対象Forum Access初級者対象Forum Access初・中級者対象Forum Access VBA Tips Forum DAO、ADO、SQL Forum

     

リストへもどる

新着の投稿記事


タイトル「#6:オーバーフロウしました。」とエラーがでてきてしまいます。
記事No16844   [関連記事]
投稿日: 2017/01/17(Tue) 20:13
投稿者こうじ
OS:windows7
Access Version:access2013
AccessのVBAに関しての質問です。

クエリで抽出したファイルをCSVで出力させ、出力したファイル名を「連番&ファイル名」の形にしたく
下記のコードを使用しました。
6ファイルは出力は成功したのですが、7ファイル目を出力しようとしたところ、「#6:オーバーフロウしました。」とエラーがでてきてしまいます。
原因やここのコードを変えれば直るというのが、お分かりになる方がいればご教示頂けますでしょうか。
初心者ですのでコードも書いて頂けると非常に助かります。

Private Sub コマンド4_Click()
On Error GoTo ErrorTrap

Dim varAccess As Variant
Dim varCPass As Variant
Dim strmsg As String

varAccess = "ASN抽出"
Dim FolderPass As String
Dim FileName As String
Dim CheckCount As Integer
FolderPass = "C:¥Users¥エクスポート¥"
FileName = "_STORE_ASN_TRN.csv"
CheckCount = 0
Do Until Dir(FolderPass & FileName) = ""
CheckCount = CheckCount + 1
FileName = Format(CheckCount, Len(CStr(CheckCount)) + 1) & "_STORE_ASN_TRN" & ".csv"
Loop
varTextPass = FolderPass & FileName
strmsg = "csvファイルへ出力します。" & Chr(13) & _
"出力先は" & varTextPass & "です。" & _
"よろしければ、OKをクリックして下さい。"

If MsgBox(strmsg, vbOKCancel) = vbOK Then
DoCmd.TransferText acExportDelim, , varAccess, varTextPass, False
MsgBox "データ出力は、正常に完了しました。"

End If
Exit Sub

ErrorTrap:
If Err.Number = 3044 Then '
MsgBox "パス指定が誤っています。", vbCritical
Else
MsgBox "予期せぬエラーが発生しました。(#" & Err.Number & " : " & Err.Description & ")", vbCritical
End If

End Sub

タイトルRe: VBAでリンクテーブルの一括更新(但し一部条件あり)
記事No16843   [関連記事]
投稿日: 2017/01/10(Tue) 23:39
投稿者mayu
こんばんは。

> あるリンクテーブルのみ更新を行わないようにしたいのですが

{ ある }という条件が、何を指すのか はっきりしませんけど
どこで躓いたんでしょうか。

除外するテーブルが複数あるのでしょうか。
'------------------------------------------------------------------------------
Sub sample1()
  Const LK_JUDGE As Long = dbAttachedTable Or dbAttachedODBC
  Dim db         As DAO.Database
  Dim tb         As DAO.TableDef
  
  Set db = Application.CurrentDb
  
  For Each tb In db.TableDefs
    Rem リンクテーブルの判定
    If (tb.Attributes And LK_JUDGE) Then
      Select Case tb.Name
        Rem 除外するテーブル名を列挙
        Case "■■■", "●●●", "▼▼▼"
          
        Case Else
          tb.Connect = ";DATABASE=C:\Northwind.mdb;TABLE=" & tb.Name
          tb.RefreshLink
      End Select
    End If
  Next
  
  db.TableDefs.Refresh
  Set db = Nothing
End Sub
'------------------------------------------------------------------------------

それとも

MS-Access以外のリンクテーブルも混在しているから
それらを一括して除外したい、ということでしょうか。
'------------------------------------------------------------------------------
Sub sample2()
  Const LK_JUDGE As Long = dbAttachedTable Or dbAttachedODBC
  Dim db         As DAO.Database
  Dim tb         As DAO.TableDef
  
  Set db = Application.CurrentDb
  
  For Each tb In db.TableDefs
    Rem リンクテーブルの判定
    If (tb.Attributes And LK_JUDGE) Then
      Rem Accessのリンクテーブルに限定
      If (LenB(Split(tb.Connect, ";")(0)) = 0) Then
        tb.Connect = ";DATABASE=C:\Northwind.mdb;TABLE=" & tb.Name
        tb.RefreshLink
      End If
    End If
  Next
  
  db.TableDefs.Refresh
  Set db = Nothing
End Sub
'------------------------------------------------------------------------------

ご希望の条件が、上記のいずれでもない場合は
除外する条件を具体的に説明いただけますか。

なお、リンクテーブルを判定するのは
------------------------------------------------------
SELECT name FROM MSysObjects 
WHERE Connect Is Not Null 
   OR Database Is Not Null ;
------------------------------------------------------
システムテーブルに SQL を投げても可能です。

  では ☆

タイトルVBAでリンクテーブルの一括更新(但し一部条件あり)
記事No16842   [関連記事]
投稿日: 2017/01/10(Tue) 16:21
投稿者やまたろうがに
OS:Windows7
Access Version:2010

お世話になります。
リンクテーブルを一括で更新できるVBA下記の通り作成しました。
あるリンクテーブルのみ更新を行わないようにしたいのですが、お知恵をお貸しできませんでしょうか?

Sub Sample02()
Dim db As DAO.Database, tb As DAO.TableDef
Set db = CurrentDb
'テーブルオブジェクトを列挙
For Each tb In db.TableDefs
'リンクテーブルだけを処理
If tb.Connect <> "" Then
tb.Connect = ";DATABASE=C:\Northwind.mdb;TABLE=" & tb.Name
tb.RefreshLink ' リンク情報の更新
End If
Next tb
End Sub

これだと、リンクテーブル全てが更新される仕様になります。

よろしくお願いします。

タイトルRe^2: フォームにPDF表示できません
記事No16841   [関連記事]
投稿日: 2017/01/07(Sat) 15:34
投稿者Ginger0101
解決済: ON
教えてくださりありがとうございました。
悩みがあっという間に解決しました。

これで次に進めます。
また何かありましたらよろしくお願いします。

タイトルRe: フォームにPDF表示できません
記事No16840   [関連記事]
投稿日: 2017/01/07(Sat) 01:19
投稿者mayu
解決済: ON
こんばんは。

> 目的:フォームにPDFファイルを表示

ということでしたら、ActiveXではなく、
MS-Access標準のコントロール を使用すればよろしいでしょう。
~~~~~~~~~~~~~~~~~~~~~~~~~~~
デザインタブの コントロールに【 Web ブラウザー コントロール 】
というのが デデンと居座っていますから、それを配置して
コントロールソースに

="PDFのフルパス"

と記述するだけです。
表示させる PDF を動的に変えたい場合は

Me.Controls("コントロール名").ControlSource = _
  "=" & Chr$(34) & "PDFのフルパス" & Chr$(34)

って感じでどうぞ。

  では ☆

タイトルフォームにPDF表示できません
記事No16839   [関連記事]
投稿日: 2017/01/06(Fri) 20:07
投稿者Ginger0101
解決済: ON
OS:windows10(64bit)
Access Version:2010
目的:フォームにPDFファイルを表示

access初心者ではありませんが基礎を習っていませんので、基本的なことを理解していない可能性があります。どうぞ、よろしくお願いします。


http://blog.goo.ne.jp/pc_college/e/283c87739ceb1590e0e6596fb59b8ecc
上記サイトなどを参考にし、下記のとおりつくってみました。

1.ActiveXコントロールの挿入(Adobe PDF Readerを選択)し
2.フォームの読み込み時にイベントプロシージャーを作成
3.VBEにて、下記内容を入力
   Private Sub Form_Load()
    ActiveXコントロール1.src = "住宅地図.pdf"
   End Sub
   ※ActiveXコントロール1が、ActiveXコントロールの名前です。

保存後、フォームビューの表示を選択すると、
”実行時エラー 438
 オブジェクトは、このプロパティまたはメソッドをサポートしていません”
と表示され、PDFを表示できず困っています。

また、srcではなく、ControlTipTextなど、
ActiveXコントロール1.の後に自動表示されるものだとエラー表示されません。
※srcは.(ドット)の後に自動表示されません。


気になる点は、
新規にaccessファイルを作成した後の一回目のフォームビューの表示選択時に、先の実行時エラー438の前に
”OLEサーバーが登録されていません
 OLEサーバーを再セットアップしてください”
と、表示され、OKボタン押下後、”このコントロールにはオブジェクトがありません”と表示されることです。


丸一日以上、いろんなサイトで調べたのですが、もはやお手上げの状態です。

ご教授頂けたら幸いです。

タイトルRe^4: EXCEL VBAによるACCESSデータベース編集
記事No16838   [関連記事]
投稿日: 2017/01/05(Thu) 21:09
投稿者haku
Moko様

ありがとうございます!!
また、初歩的なミスでお騒がせしました&#128166;
本当に助かりました!!

タイトルRe^3: EXCEL VBAによるACCESSデータベース編集
記事No16837   [関連記事]
投稿日: 2017/01/05(Thu) 13:45
投稿者Moko
> ★Range("Al").CopyFromRecordset Data:=rs

("Al") の部分
数字の「いち」ではなく、英小文字の「える」になっているようです。

タイトルRe^2: EXCEL VBAによるACCESSデータベース編集
記事No16836   [関連記事]
投稿日: 2017/01/04(Wed) 20:39
投稿者haku
Moko様

投稿、ありがとうございます。
諸事情により先ほど投稿文を確認させてい頂き、返信が遅れまして申し訳ありません。

ご指摘通り、スペースやピリオドの所が悪さをしていたようです。
本当に助かりました!!

ですが、まだプログラムが上手く作動しない所があります。




Sub テーブル取り込み_元()

Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim constr As String

constr = "Provider =Microsoft .ACE OLEDB.12.0; Data Source=\\SE02\Users\Administrator\現場実績.accdb"
con.Open ConnectionString:=constr

rs.Open Source:="T出庫データ", ActiveConnection:=con, _
CursorType:=adOpenKeyset, LockType:=adLockOptimistic

★Range("Al").CopyFromRecordset Data:=rs

rs.Close
con.Close


End Sub



★マークの所で下記ののデバックエラーが発生します。

実行時エラー1004 「'Range'メソッドは失敗しました。'_Global'オブジェクト」

スペースやピリオド関係での悪さでは無いと思われるのですが、やはり原因はわかりません。
どうぞよろしくお願い致します。

タイトルiphone6ケース激安
記事No16835   [関連記事]
投稿日: 2017/01/04(Wed) 19:15
投稿者莫科
参照先http://www.prettybagsnew.com
[url="http://www.prettybagsnew.com"]iphone6 ケース 手帳型 人気[/url]
[url="http://www.prettybagsnew.com"]芸能人iphone7ケース [/url]
[url="http://www.prettybagsnew.com"]シャネルiphone7 ケース手帳[/url]
[url="http://www.prettybagsnew.com"]シャネルiphone7 ケース[/url]
[url="http://www.prettybagsnew.com"]iphone6 ケース 手帳型[/url]

ページの先頭へ 前ページへ戻る