石鹸箱 IV

VBA研究所に集まる方々の憩いの場です。みなさん自由にお使いください。
ここでは VBA の質問は厳禁。

4765 / 5126 ツリー ←次へ | 前へ→

【2387】なんか作りたーい つん 09/4/27(月) 18:05

【2624】Re:なんか作りたーい Jaka 10/2/12(金) 12:34
【2625】アクセスのビューワーってないのかね? Jaka 10/2/15(月) 10:37
【2629】Re:アクセスのビューワーってないのかね? 小僧 10/2/23(火) 10:17
【2631】Re:アクセスのビューワーってないのかね? Jaka 10/2/26(金) 13:56
【2645】なんか悔しい。 Jaka 10/3/18(木) 9:59

【2624】Re:なんか作りたーい
 Jaka  - 10/2/12(金) 12:34 -

引用なし
パスワード
   >低スペックPC & 少ないメモリ量 を言い訳
うそついてました。
これは、Dictionaryでした。
CSVファイルのデータを直接操作するわけでもなく、
一旦配列に入れるというところで、残り少ないメモリは、
書き出すときの配列に使いたいってのがありまして。
でも、なんか仮想メモリ、ビンビンであまり意味がなかったのかも。
で、Dictionary もろくにやらず。

mdbは、daoだか、なんだかが実行エラーで動かなかったので、
調べてみても、自分の環境で動くから他のも動くだろうって、
感じで、どれもろくに動かなかったから。
何年前だろう??? Pen160を使っていた時にやる気がうせて、
今も継続して、やる気がうせたって感じ。

【2625】アクセスのビューワーってないのかね?
 Jaka  - 10/2/15(月) 10:37 -

引用なし
パスワード
   エクセルで、mdbファイルが作れても、アクセス持ってないので、
ちゃんとできているのか確認用に、アクセスのビューワーを
使おうと思ったけど、なかった・・・・。
家でDao??とか、色々試してみようかと思ったのだけれど・・。

そもそもアクセスのビューワーでmdbファイルが開けるのか知らないけど、
なんか腹が立つ。

【2629】Re:アクセスのビューワーってないのかね?
 小僧  - 10/2/23(火) 10:17 -

引用なし
パスワード
   ▼Jaka さん:
こんにちは。

> daoだか、なんだかが実行エラーで動かなかった

OSのバージョンやSPの当て具合によって左右されますので
MDAC のバージョンを上げると対応できるかもしれません。


MSDN の MDAC の記事に DAO の説明がないや…と探していたら
今後の製品リリースからは除外される予定の
テクノロジと紹介されていました…。


> アクセスのビューワーを使おうと思ったけど

Access2007であればランタイムが無償ですね。
使った事はありませんが…。

【2631】Re:アクセスのビューワーってないのかね?
 Jaka  - 10/2/26(金) 13:56 -

引用なし
パスワード
   こんいちは。
▼小僧 さん:
>OSのバージョンやSPの当て具合によって左右されますので
>MDAC のバージョンを上げると対応できるかもしれません。

ODBCとか、SQLサーバーとか環境にないものばかりなんで、
なんとかここまで、いろんなところからパクってきたけど。
この辺の設定とかが、面倒くさくてよく解らないのが難点。
なんとかJetを使って接続するとか。
やってみたいのは、SQLサーバー系じゃないのに...。

'参照設定 Microsoft DAO 3.6 Object Library
Const mdbF_Name As String = "mdb作成テスト.mdb"

Sub 新規作成()
  Dim Dbs As Database
  Dim Tbl As TableDef
  Dim Newmdb_F As String
  Newmdb_F = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\" & mdbF_Name
  
  Set Dbs = DBEngine.Workspaces(0).CreateDatabase(Newmdb_F, dbLangJapanese)
  Set Tbl = Dbs.CreateTableDef("都道府県住所")

  Tbl.Fields.Append Tbl.CreateField("都道府県_読み", dbText, 20)
  Tbl.Fields.Append Tbl.CreateField("市区町村_読み", dbText, 70)
  Tbl.Fields.Append Tbl.CreateField("町名番地_読み", dbText, 80)
  Tbl.Fields.Append Tbl.CreateField("都道府県_漢字", dbText, 10)
  Tbl.Fields.Append Tbl.CreateField("市区町村_漢字", dbText, 70)
  Tbl.Fields.Append Tbl.CreateField("町名番地_漢字", dbText, 80)
  Tbl.Fields.Append Tbl.CreateField("予備", dbText, 30)
  Dbs.TableDefs.Append Tbl
  
  Dbs.Close
  Set Tbl = Nothing
  Set Dbs = Nothing
End Sub

Sub データ作成()
  Dim Dbs As Database
  Dim Tbl As Recordset
  Dim Cnt As Long
  Dim Newmdb_F As String
 
  Newmdb_F = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\" & mdbF_Name
  Set Dbs = OpenDatabase(Newmdb_F)
  Set Tbl = Dbs.OpenRecordset("都道府県住所", dbOpenTable)

  For i = 1 To 10
   Tbl.AddNew
   Tbl.Fields(0) = "トウキョウト" & i
   Tbl.Fields(1) = "チヨダク" & i
   Tbl.Fields(2) = "カンダ1-1-1  " & i
   Tbl.Fields(3) = "東京都" & i
   Tbl.Fields(4) = "千代田区" & i
   Tbl.Fields(5) = "神田1-1-1  " & i
   Tbl.Fields(6) = "メモ" & i
   Tbl.Update
  Next

  Tbl.Close
  Dbs.Close
  Set Dbs = Nothing
  Set Tbl = Nothing
End Sub

アクセス・・・。
データを作るのが面倒なんで、エクセルからコピペでデータを作ろうかと思ったのだけれど、コピペがうまくいかない、操作方がわからない。
で、昔あっさり挫折しました。
で、そのまま。

>> アクセスのビューワーを使おうと思ったけど
>
>Access2007であればランタイムが無償ですね。
>使った事はありませんが…。

2007のお試し版てのが前にありましたが、それだとなんか見れそう。
でも、家のPCは、スペック的になんか無理そう...みたいな。
オープンオフィスならと思ったけれど、なんかアクセスには対応してなさそう。

【2645】なんか悔しい。
 Jaka  - 10/3/18(木) 9:59 -

引用なし
パスワード
   ここの
【64823】Re:CSVの取込について
no=64823

超初心者さんのコードをまねて、CSVファイルを読み見込むコードを作ってみた。
郵政省の郵便番号?CSVファイルを削って、65536行にしたやつ。
1分28秒で終わった。
現在のPCの性能がかなり上がっている元も考慮しても、なんか速すぎるような気が...。
でも、メモリに依存しそうな気もするので、昨年暮れまでのPCで試したら、止まるような気がしないでもない。

しかし、1分28秒で終わってしまうとは思わなかったので、今までの苦労は何なの!って、感じでした。


Sub CSV読み込み()
Dim DDB As DAO.Database
Dim OpnF As Variant
Dim DBPth As String, CSV_F As String
  
OpnF = Application.GetOpenFilename("Excelファイル (*.csv;*.txt), *.csv;*.txt")
If VarType(OpnF) = vbBoolean Then
  Exit Sub
End If
'GetOpenで、カレントディレクトリが移動しているので、そのまま使う。
DBPth = CreateObject("WScript.Shell").CurrentDirectory
CSV_F = Dir(OpnF)

Stt = Now()
Set DDB = DBEngine.Workspaces(0).OpenDatabase(DBPth, False, False, "Text;HDR=NO;")
SQLSt = "SELECT * FROM " & CSV_F

Set DbRs = DDB.OpenRecordset(SQLSt, dbOpenSnapshot)
Range("A1").CopyFromRecordset DbRs

Set DDB = Nothing
Set DbRs = Nothing
MsgBox Format(Now() - Stt, "Hh:mm:ss")
End Sub


なんか知んないけど、URL記載が ht tp・・・とかしてもはねられる。
これもエロエロのせいでこうなったのか。
こいつら、他にやることないのかね。(こういう書き込みに対して)

4765 / 5126 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
219927
(SS)C-BOARD v3.8 is Free