スポンサーサイト 


上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

--/--/--

Category: スポンサー広告

TB: --  /  CM: --

top △

初の回答ブロック 


Access2000にエクセルデータを取り込み
http://oshiete.goo.ne.jp/qa/8178788.html

に回答して、何も反応無く締め切られ・・・・

AccessのVBAでエクセルデータを取り込み
http://oshiete.goo.ne.jp/qa/8179798.html

で、環境の補足等なく同じ質問を・・・・
回答を用意して、回答しようとしたらブロックされているんだそうです。

私は何か悪いことしたのでしょうか・・・・
せっかくなので、用意した回答を紹介する事に(広告対策ってこともありますけど)

【追記あり(7/20)】
 
用意した回答は以下の通りです

Access2000にエクセルデータを取り込み
http://oshiete.goo.ne.jp/qa/8178788.html

まったく同じ質問で、補足等一切なく、締め切られましたけど・・・・
解決したので締め切った・・・ではなさそうですね。

> しかしながら、「取り込み開始」の箇所を
> >あと、アクセスのインサートはSQL一発のほうが早いと思う。
> >http://www.1keydata.com/jp/sql/sql-insert-into.php
> というアドバイスを頂きました。

上記について、何故、補足等を使って解決しようとしないのでしょう
私の認識では、以下に環境を想定しますが、その環境ではできない・・・と思っています。

環境を追記するでもなく、どのような回答を望まれていますか
Excel は 2007 以降、Access は 2000 と環境を限定すれば、
Access 2000 で xlsm は解釈できないので、現状の処理で見直す事になるのでしょう。
(あくまでも私の認識においてのものです)

ここで、解釈違いがあるかも
全体を一発のSQLで・・・と解釈してましたが、1レコードで一発・・・でしょうか?


Filter 部分は、締め切られた質問で回答していましたね
後は、Cells から値を持ってくるところを見直すのでしょうか。
(Cells を参照する回数を減らす:メモリは使うようになります)

例えば、
iCnt = Range("A2").End(xlDown).Row
で、最終行を得ておいて
(A列のものはキーになるものだと思うので、下に見て空白になったら終わり)
v = Range("A2:A" & iCnt)
とすると、v は2次元配列 v(行,列) で得られたかと (列は1行なので 1 )

必要な列を処理するのなら、以下の様な感じ

Dim rs As New ADODB.Recordset
Dim vAry As Variant, v() As Variant
Dim i As Long, j As Long, iCnt As Long
Const xlDown = -4121

vAry = Array("A", "B", "C", "E", "AE", "BE", "CE", "DE", "EE")
ReDim v(UBound(vAry))

With CreateObject("Excel.Application")
  .Workbooks.Open Filename:=CurrentProject.Path & "\メイン.xlsm"
  With .Sheets("program")
    iCnt = .Range("A2").End(xlDown).Row
    For i = 0 To UBound(vAry)
      v(i) = .Range(vAry(i) & "2:" & vAry(i) & iCnt)
    Next
  End With
  .Quit
End With

rs.Source = "SELECT 場, 日, 番号, 1番, 2番, 3番, 4番, 5番, 6番 FROM 選手情報_選手ID;"
rs.Open , CurrentProject.Connection, adOpenStatic, adLockOptimistic
For i = 1 To UBound(v(0))
  rs.Filter = "場=" & v(0)(i, 1) & " And 日=" & v(1)(i, 1) & " And 番号=" & v(2)(i, 1)
  If (rs.EOF) Then
    rs.AddNew
    rs(0) = v(0)(i, 1)
    rs(1) = v(1)(i, 1)
    rs(2) = v(2)(i, 1)
  End If
  For j = 3 To rs.Fields.Count - 1
    rs(j) = v(j)(i, 1)
  Next
  rs.Update
Next
rs.Close


※ Array("A", "B", "C", "E", "AE", "BE", "CE", "DE", "EE") の並びと
 SELECT 場, 日, 番号, 1番, 2番, 3番, 4番, 5番, 6番 の並びは合わせておきます。

※ 上記は1度も実行していないので、それなりに動かないかも、速くならないかも
 なお、上記記述がわからなかったら、スルーしてください
 もし、気分を害されたのなら、締め切って再度質問してください。
 その時には回答しませんので・・・・


http://bekkoame.okwave.jp/205/c699.html
でみると一覧にあったので覗いてみましたが、カテゴリは Oracle で良かったですか


この冒頭部分は、反応もなく、ただ単に締め切ったことへの愚痴ですけど

でもなぁ・・・ブロックされるような回答をしていたんでしょうか・・・・わかりません
また、私の解釈は間違っていたのでしょうか・・・・

どなたか、アドバイスください。


ちなみに最近は、bekkoame の方で閲覧しています。
・全回答を一気にみる事が出来る(5件、10件で次ページとならない)
・1行の文字数が多いので変なところで改行されにくい
等あるので・・・



【追記(7/20)】

回答ブロックされた理由を教えてもらいました。
それについては、コメントしません。

環境もはっきりとしない中、雰囲気的な処理性能を確かめてみる事に。
(Excel とのやり取り部分は除外して)

6つのケースを考えてみて

1)単純にレコードセットをオープンして追加
2) 1)時点で AddNew の方法を変えてみる(リストで与える方法に)
3)INSERT 文を発行してみる
4) 1)+ Filter 後、追加
5)レコードセットオープン時に WHERE 指定
6)DLookup で有無を確認後、INSERT 文を発行

テーブル「T20」を作成
フィールド:「ID」(長整数:主キー)、「文字」(テキスト型)、「日付」(日付/時刻型)の3つ

Public Sub Sample1()
  Dim rs As New ADODB.Recordset
  Dim sSql As String
  Dim vSrc(2) As Variant, vData(2) As Variant
  Dim vAry As Variant, v As Variant
  Dim sS As String, sMsg As String
  Dim i As Long, j As Long
  Dim tmS As Single

  vAry = Array(Array(1, 2, 3, 4, 5, 6), Array(2, 1, 3, 4, 5, 6), Array(3, 2, 1, 4, 5, 6))
  Randomize

  Do While (1)
    sS = InputBox("レコード数を入力してください", "レコード作製", "1000")
    If ((Len(sS) = 0) Or Not IsNumeric(sS)) Then Exit Do
    i = Abs(CLng(sS))
    Debug.Print "レコード数 >>", i
    For Each v In vAry(Int((UBound(vAry) + 1) * Rnd()))
      sSql = "DELETE * FROM T20;"
      CurrentProject.Connection.Execute sSql
      tmS = Timer
      Select Case v
        Case 1
          rs.Open "T20", CurrentProject.Connection, adOpenForwardOnly, adLockOptimistic
          For j = 1 To i
            rs.AddNew
            rs(0) = j
            rs(1) = "ABCD"
            rs(2) = #7/20/2013#
            rs.Update
          Next
          rs.Close
          sMsg = " rs.AddNew ベタ >> "
        Case 2
          vSrc(0) = "ID"
          vSrc(1) = "文字"
          vSrc(2) = "日付"
          rs.Open "T20", CurrentProject.Connection, adOpenForwardOnly, adLockOptimistic
          For j = 1 To i
            vData(0) = j
            vData(1) = "ABCD"
            vData(2) = #7/20/2013#
            rs.AddNew vSrc, vData
          Next
          rs.Close
          sMsg = " rs.AddNew 一発 >> "
        Case 3
          For j = 1 To i
            sSql = "INSERT INTO T20(ID,文字,日付) VALUES (" _
              & j & ",'ABCD',#2013/7/20#);"
            CurrentProject.Connection.Execute sSql
          Next
          sMsg = " INSERT >> "
        Case 4
          rs.Open "T20", CurrentProject.Connection, adOpenStatic, adLockOptimistic
          For j = 1 To i
            rs.Filter = "ID=" & j
            If (rs.EOF) Then
              rs.AddNew
              rs(0) = j
            End If
            rs(1) = "ABCD"
            rs(2) = #7/20/2013#
            rs.Update
          Next
          rs.Close
          sMsg = " rs.AddNew Filter >> "
        Case 5
          For j = 1 To i
            rs.Source = "SELECT * FROM T20 WHERE ID = " & j & ";"
            rs.Open , CurrentProject.Connection, adOpenForwardOnly, adLockOptimistic
            If (rs.EOF) Then
              rs.AddNew
              rs(0) = j
            End If
            rs(1) = "ABCD"
            rs(2) = #7/20/2013#
            rs.Update
            rs.Close
          Next
          sMsg = " rs.AddNew Open >> "
        Case 6
          For j = 1 To i
            If (IsNull(DLookup("ID", "T20", "ID=" & j))) Then
              sSql = "INSERT INTO T20(ID,文字,日付) VALUES (" _
                & j & ",'ABCD',#2013/7/20#);"
              CurrentProject.Connection.Execute sSql
            End If
          Next
          sMsg = " INSERT Check >> "
      End Select
      Debug.Print sMsg & Timer - tmS & "秒"
    Next
    Stop
  Loop
End Sub

 
  vAry = Array(Array(1, 2, 3, 4, 5, 6), Array(2, 1, 3, 4, 5, 6), Array(3, 2, 1, 4, 5, 6))
部分は、実行順によって偏りがあるのか・・・・を考えてみたけど・・・あまり・・・

で、もう1つ、初期にデータ 10000 レコードがあった場合のもので、
テーブル「T20」の構造だけを「T21」としてコピーしておきます。

Public Sub Sample2()
  Dim rs As New ADODB.Recordset
  Dim sSql As String
  Dim vSrc(2) As Variant, vData(2) As Variant
  Dim vAry As Variant, v As Variant
  Dim sS As String, sMsg As String
  Dim i As Long, j As Long
  Dim tmS As Single

  vAry = Array(Array(1, 2, 3, 4, 5, 6), Array(2, 1, 3, 4, 5, 6), Array(3, 2, 1, 4, 5, 6))
  Randomize

  sSql = "DELETE * FROM T21;"
  CurrentProject.Connection.Execute sSql
  rs.Open "T21", CurrentProject.Connection, adOpenForwardOnly, adLockOptimistic
  For j = 1 To 10000
    rs.AddNew
    rs(0) = j
    rs(1) = "ABCD"
    rs(2) = #7/20/2013#
    rs.Update
  Next
  rs.Close


  Do While (1)
    sS = InputBox("レコード数を入力してください", "レコード作製", "1000")
    If ((Len(sS) = 0) Or Not IsNumeric(sS)) Then Exit Do
    i = Abs(CLng(sS))
    Debug.Print "レコード数 >>", i
    For Each v In vAry(Int((UBound(vAry) + 1) * Rnd()))
      sSql = "DELETE * FROM T21 WHERE ID > 100000;"
      CurrentProject.Connection.Execute sSql
      tmS = Timer
      Select Case v
        Case 1
          rs.Open "T21", CurrentProject.Connection, adOpenForwardOnly, adLockOptimistic
          For j = 1 To i
            rs.AddNew
            rs(0) = j + 1000000
            rs(1) = "ABCD"
            rs(2) = #7/20/2013#
            rs.Update
          Next
          rs.Close
          sMsg = " rs.AddNew ベタ >> "
        Case 2
          vSrc(0) = "ID"
          vSrc(1) = "文字"
          vSrc(2) = "日付"
          rs.Open "T21", CurrentProject.Connection, adOpenForwardOnly, adLockOptimistic
          For j = 1 To i
            vData(0) = j + 1000000
            vData(1) = "ABCD"
            vData(2) = #7/20/2013#
            rs.AddNew vSrc, vData
          Next
          rs.Close
          sMsg = " rs.AddNew 一発 >> "
        Case 3
          For j = 1 To i
            sSql = "INSERT INTO T21(ID,文字,日付) VALUES (" _
              & j + 1000000 & ",'ABCD',#2013/7/20#);"
            CurrentProject.Connection.Execute sSql
          Next
          sMsg = " INSERT >> "
        Case 4
          rs.Open "T21", CurrentProject.Connection, adOpenStatic, adLockOptimistic
          For j = 1 To i
            rs.Filter = "ID=" & j + 1000000
            If (rs.EOF) Then
              rs.AddNew
              rs(0) = j + 1000000
            End If
            rs(1) = "ABCD"
            rs(2) = #7/20/2013#
            rs.Update
          Next
          rs.Close
          sMsg = " rs.AddNew Filter >> "
        Case 5
          For j = 1 To i
            rs.Source = "SELECT * FROM T21 WHERE ID = " & j + 1000000 & ";"
            rs.Open , CurrentProject.Connection, adOpenForwardOnly, adLockOptimistic
            If (rs.EOF) Then
              rs.AddNew
              rs(0) = j + 1000000
            End If
            rs(1) = "ABCD"
            rs(2) = #7/20/2013#
            rs.Update
            rs.Close
          Next
          sMsg = " rs.AddNew Open >> "
        Case 6
          For j = 1 To i
            If (IsNull(DLookup("ID", "T21", "ID=" & j + 1000000))) Then
              sSql = "INSERT INTO T21(ID,文字,日付) VALUES (" _
                & j + 1000000 & ",'ABCD',#2013/7/20#);"
              CurrentProject.Connection.Execute sSql
            End If
          Next
          sMsg = " INSERT Check >> "
      End Select
      Debug.Print sMsg & Timer - tmS & "秒"
    Next
    Stop
  Loop
End Sub

 
大きな変更部分はありませんね・・・・

結果は雰囲気以下の様になりました。(測定したのは、Vista + 2007 の環境にて)単位は秒
 作成レコード数10005000
 初期レコード数-10000-10000
 rs.AddNew ベタ0.037 0.043 0.246 0.238 
 rs.AddNew 一発0.039 0.070 0.189 0.225 
 INSERT1.277 1.236 6.254 6.221 
 rs.AddNew Filter2.283 44.561 52.967 264.162 
 rs.AddNew Open3.242 3.242 16.307 16.160 
 INSERT Check2.242 2.242 11.223 11.197 


※ INSERT Check のところもそうですが、実際には ID があったら UPDATE するんだと思いますが、
 データを作るのが面倒なので・・・やらないことに

さぁ~てと、この結果をどう見るのかは、お任せします。
単に追加する時は、INSERT を発行するより、レコードセットをいじった方が・・・・とか
Filter を使うのであれば、レコードセット中のレコード数は少なくしておかないと・・・・とか
私はよくやるんですよね・・・・・月で絞っておいてから、日で Filter するとか

質問者さんの想定処理量は、500 行のものを 200 回・・・・だそうですけど・・・
上記の雰囲気的な結果に、Excel とのやり取り部分等加算されていきますね・・・・
100000 レコードですか・・・・大変ですね


せっかくなので、全体を一発の SQL で・・・・・
当初、私が解釈違いをしていたものになります。

(どうも、質問者さんが想定していたのは、1レコードで SQL 一発のようです)

Excel から一発の SQL でテーブルに取り込む事をやってみます。
Excel ファイル「test_165.xls」(互換モード)を作成します。
「Sheet1」「Sheet2」の各1行目にはA列から「ID」「文字」「日付」と、フィールド名と同じ名前を入れておいて
「Sheet1」には ID = 1000001 ~ 1000行分
「Sheet2」には ID = 1000001 ~ 5000行分
のデータを作っておきます。
Public Sub test()
  Dim i As Long

  With Worksheets("Sheet1")
    For i = 2 To 1001
      .Cells(i, 1) = i + 999999
      .Cells(i, 2) = "ABCD"
      .Cells(i, 3) = #7/20/2013#
    Next
  End With

  With Worksheets("Sheet2")
    For i = 2 To 5001
      .Cells(i, 1) = i + 999999
      .Cells(i, 2) = "ABCD"
      .Cells(i, 3) = #7/20/2013#
    Next
  End With
End Sub

で、以下を Access 側に記述して実行してみます。
Public Sub testImport()
  Dim rs As New ADODB.Recordset
  Dim i As Long
  Dim sSql As String
  Dim tmS As Single

  sSql = "DELETE * FROM T20;"
  CurrentProject.Connection.Execute sSql

  tmS = Timer
  sSql = "UPDATE T20 RIGHT JOIN [Excel 8.0;HDR=YES;IMEX=1;DATABASE={%2}].[{%1}] AS Q1 " _
      & "ON T20.ID = Q1.ID SET T20.ID = Q1.ID, T20.文字=Q1.文字, T20.日付=Q1.日付 " _
      & "WHERE T20.ID Is Null;"
  sSql = Replace(sSql, "{%1}", "Sheet1$") ' 対象のシート名 + $
  sSql = Replace(sSql, "{%2}", "E:\Access\2007\test_165.xls") ' 対象ファイルのパス
  CurrentProject.Connection.Execute sSql
  Debug.Print "1000 Rec >> " & Timer - tmS & "秒"

  sSql = "DELETE * FROM T21;"
  CurrentProject.Connection.Execute sSql
  rs.Open "T21", CurrentProject.Connection, adOpenForwardOnly, adLockOptimistic
  For i = 1 To 10000
    rs.AddNew
    rs(0) = i
    rs(1) = "ABCD"
    rs(2) = #7/20/2013#
    rs.Update
  Next
  rs.Close

  tmS = Timer
  sSql = "UPDATE T21 RIGHT JOIN [Excel 8.0;HDR=YES;IMEX=1;DATABASE={%2}].[{%1}] AS Q1 " _
      & "ON T21.ID = Q1.ID SET T21.ID = Q1.ID, T21.文字=Q1.文字, T21.日付=Q1.日付 " _
      & "WHERE T21.ID Is Null;"
  sSql = Replace(sSql, "{%1}", "Sheet2$") ' 対象のシート名 + $
  sSql = Replace(sSql, "{%2}", "E:\Access\2007\test_165.xls") ' 対象ファイルのパス
  CurrentProject.Connection.Execute sSql
  Debug.Print "5000 Rec >> " & Timer - tmS & "秒"


  sSql = "DELETE * FROM T20;"
  CurrentProject.Connection.Execute sSql

  tmS = Timer
  sSql = "UPDATE T20 RIGHT JOIN [Excel 8.0;HDR=YES;IMEX=1;DATABASE={%2}].[{%1}] AS Q1 " _
      & "ON T20.ID = Q1.ID SET T20.ID = Q1.ID, T20.文字=Q1.文字, T20.日付=Q1.日付; "
  sSql = Replace(sSql, "{%1}", "Sheet1$") ' 対象のシート名 + $
  sSql = Replace(sSql, "{%2}", "E:\Access\2007\test_165.xls") ' 対象ファイルのパス
  CurrentProject.Connection.Execute sSql
  Debug.Print "1000 Rec2 >> " & Timer - tmS & "秒"

  sSql = "DELETE * FROM T21 WHERE ID > 100000;"
  CurrentProject.Connection.Execute sSql

  tmS = Timer
  sSql = "UPDATE T21 RIGHT JOIN [Excel 8.0;HDR=YES;IMEX=1;DATABASE={%2}].[{%1}] AS Q1 " _
      & "ON T21.ID = Q1.ID SET T21.ID = Q1.ID, T21.文字=Q1.文字, T21.日付=Q1.日付;"
  sSql = Replace(sSql, "{%1}", "Sheet2$") ' 対象のシート名 + $
  sSql = Replace(sSql, "{%2}", "E:\Access\2007\test_165.xls") ' 対象ファイルのパス
  CurrentProject.Connection.Execute sSql
  Debug.Print "5000 Rec2 >> " & Timer - tmS & "秒"
  Debug.Print
End Sub

 
ここで、sSql = の3行目に & "WHERE T20.ID Is Null;" が
・ある場合・・・・ID が重複していないものが追加されます
・ない場合・・・・ID が重複していたら更新の動作、重複していなかったら追加の動作
になっていると思います。
ただし、確認用のデータは ID の重複は無いので、追加の動作になりますが・・・・・

で、これを実行した時の、雰囲気的な結果(時間)は以下(3回実行して遅かったもの)
 作成レコード数10005000
 初期レコード数-10000
 Is Null あり0.078 0.184 
 Is Null なし0.047 0.176 

こういう結果を知っていれば、SQL 一発・・・・こっち側だと思っちゃいますね・・・・
だから、環境について補足が欲しいと言ってたんですけどね・・・

質問者さんの想定処理量は、500 行のものを 200 回・・・・であれば、
Excel ファイルを xls にして、200 回・・・
さて、計算すると何秒になるのでしょうか・・・
(今だから言える事ですが、xls に変更したら ?? )
でもね、確認したのは追加だけ・・・・更新の処理があったら・・・・どうなるんでしょ
さらには、確認した時のキーは「ID」の1つでしたが、キーとなるのが3フィールド・・・・
どのように変わっていくのでしょう・・・


せっかく Vista + 2007 で確認しているので、拡張子「xlsm」の場合も見てみる事に

上記コードからの変更点は、
・ Excel 8.0 →  Excel 12.0 Xml
・ test_165.xls → test_165.xlsm
だけです。で、結果は
 作成レコード数10005000
 初期レコード数-10000
 Is Null あり0.417 0.508 
 Is Null なし0.359 0.504 

xls の時より時間食いますね・・・・でも瞬時と表現しても良さそうな気もします。

これらでは、重複する ID がない環境で確認してきましたが、実際のデータを持っているわけではありません。
一般に遅いと言われる方法でも、想定量で、それなりに満足できれば、それで良いと私は思います。


回答するって、難しいですね・・・・
関連記事

2013/07/17

Category: goo

TB: --  /  CM: 4

top △

この記事に対するコメント

自動ページかな

残念な・・・でしたね。私もブロックされてしまいました。
>・全回答を一気にみる事が出来る(5件、10件で次ページとならない)
https~だとダメっぽいですが
Google Chrome(SRWare Iron)なら
https://chrome.google.com/webstore/detail/autopagerize/igiofjhpmpihnifddepnpngfjhkfenbp
というのが使えます。
スクロールの終端にくると自動的に次のページを読み込んでくれます。
FireFoxでもあるようです。IEも?

PS.
>いつも参考にしたい回答されている nicotinism さんで良かったでしょうか?
多分人違いです。
ボケ回答を皆さんから助けてもらっている nicotinism なら私メにございます (^_^;)

>回答はなかった事になってますけど、どんな魔法を使われたんですか?
密告により当局から丸ごと消去された模様です。
そんな内容ではないと思いますが、よほど気に喰わなかったんでしょうね。

>今は見当たりませんね・・・・どうされたんでしょう
回答のつかない質問は質問者側で削除できますので引き上げたのでしょう。

余談。
回答者ブロックならぬ、質問者ブロックてのが有っても良いかもですな。

ソフトなどのお試し用にVirtualBoxで環境を作っています。
キーボードからの反応が遅いのが玉にきずですが、
試験するだけなら十分です。

nicotinism #YnGK574c | URL | 2013/07/24 10:21 * edit *

情報ありがとうございます

nicotinism さんって
いつも参考にしたい回答されている nicotinism さんで良かったでしょうか?

コメントがあったよ・・・・メールが届くのですが(結構気付かない時があります)
そこでの情報がアクセス履歴の情報にない・・・何で??ってなことしてました。
わけのわからないまま、時間ばかり過ぎちゃって・・・・
(どの様な仕組みなのかは・・・わかってませんけど・・・・)
ご本人であれば、お礼に時間をかけてもいられないってことで・・・・
日本語おかしいですね・・・ニアンスはわかっていただけているかと思いますが、
コメント頂いたのに、長い間返信もしないなんて失礼だということで・・・


私は IE を使ってます。
便利そうだなぁ~と思ってたりするのですが、今のところ不自由はしてないんですね。
困った・・・ってな状況が発生してから、他ブラウザを検討しても良いかな・・・とか、
ソフトのインストールは極力しない方向で・・・とか思ってたりします。
今はどうなんでしょう・・・
インストールしたら、今まで動いていた他のソフトの動きが・・・・
アンインストールしても、その動きは戻らず・・・・リカバリー・・・・ってなことがあったような・・・
(他のブラウザ・・・ってな事ではないので、過去でのお話です)

> ちなみに最近は、bekkoame の方で閲覧しています。
での、「等」には広告の表示が邪魔・・・ってのが一番かも知れません。
(広告を持ってくるところのサイトを拒否できる?ような方法もあるみたいですが)

今のところの手順は、
・bekkoame で閲覧
・回答出来そうなものに回答を用意
 この時、自分の回答管理DB に回答練習枠で、回答を作成するわけですが、
 質問内容をコピペする元は OKWave から・・・・
  これは、コピーする時に行先頭に無駄な空白が付加されないのが OKWave だけみたい
  以前は goo からでも良かったんだけど・・・
  また、goo でも全件見れていたのに 10 件で次ページ・・・に変わったし・・・
・これが出来上がったら、goo のその質問の「回答する」から・・・
 ログインして DB からコピペ回答・・・
 ログアウトして、Cookie 消して・・・
こんな感じです。
 ログインしている状態で、いろんな事しない/できない様に・・・・
 ID/パスワードを忘れてしまったら、自分にとってそれだけのサイトだった・・・で、あきらめる事に
 (でも、今までそういうサイトは無いですけど・・・)

そこで、回答が出来上がって・・・さて、ログイン・・・・・ブロックされてます・・・・

いいんじゃないですかね・・・・
回答の投稿が終わってから、○○な気持ちになるよりは・・・
そういう相手だよ・・・って事前に教えてくれる・・・・
間違っても回答しない様に設定してくれたんだ・・・・・・・・と、、

知恵袋で回答した方は、ようやく質問ごと削除したようです。
嫌みタラッタラの内容で置き換えようかとも思いましたが・・・やめときました。
必要であれば、その内容を追追記として紹介できますけど・・・・いらないですよね・・・
関連した他の質問を見てみると、自分で処理したそうな・・・・
何故、質問されるんでしょうかね・・・・

ところで、
私はブロックされた後だったので、投稿しようともしませんでしたが、
あの受け答えの質問(見ているだけで○○○○○るような・・・)
回答はなかった事になってますけど、どんな魔法を使われたんですか?
他の方の回答も編集されたような・・・気のせいでしょうか?
(問題となるような記述はなかったように、記憶してますが・・・)
(でも、補足の方は全部に編集が入ったようですけど・・・)

それと並んで、回答のついてなかった連発質問3つ・・・
今は見当たりませんね・・・・どうされたんでしょう

kiku #1a/xiM.Q | URL | 2013/07/25 18:45 * edit *

私も噛み付かれた(甘噛みですが)んで
ttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14110483279

釣られないぞと思いながら釣られてしまいました。
ttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14110801684

tkyk_hal #mQop/nM. | URL | 2013/07/25 19:40 * edit *

今回は]大変でしたよね・・・お互いに

現状、初めてコメント頂いた方の本人確認をどうすべきなのか・・・わかりません。
確立(できるんだろか?)するまで、お名前と文面と雰囲気で判断させていただきます。

「今回は」、・・・「は」・・・っていう表現は適切なんでしょうかねぇ??
私にとっては、「初」だったもので・・・

いつも、あぁ~~っそうか、そう考えれば・・・・と、
少ない量で大きな情報を提供されている・・・・
自分のわからない事は、試しに作ってみて、なるほど・・・勉強させてもらってます。

このブログを見ていただけているとは嬉しい限りです。

後半のもの、
> まずは間違った処理を答えてからでないと、セオリー通りの
> シンプルな処理を答えられないとは、面白いローカルルールが
> あるもんだなぁ。

これには、異論どころか、国旗振っちゃいます。(なんで国旗なんだろう???)
遅い処理を前提に、どこまで速く・・・・・
遅い処理でも、環境次第(工夫次第)では速くはなると思いますけど・・・・
Open で 日 を Where にして、Filter では「場」「番号」・・・・とか??
Open で 場 を Where にして、Filter では「日」「番号」・・・・とか??
どっちにしろ、環境・状況の提示は不可欠・・・・
それ以前に、
格段に速い方法を提示していたのに、遅い方を選んだのは誰なの・・・・って言いたくもなります

削除された質問での置換えをやめた一部分を紹介すると
> > 現在のソースが、一番早いということですか??
>
> oApp.Sheets(sheet) っていうのは Set して云々どこかで言ってませんでしたか?
> ご丁寧に Filter を無駄に 3 回しているのも直しもしていない・・・・
> よく言えますね
ってな感じで・・・・・・
後から読み直してみると、そこまで言うか・・・・みたいな・・・

教本として記事を記述しているわけではないので、
今後(以前でも)嘘・・・危ない・・・危なっかしい・・・・
等、お気づきのところあればアドバイスいただければと思います。

しかし、Access って、こう動く・・・・とか、仕様部分は何を見れば良いんでしょうかねぇ?
やってみたけど、それが一般的なもの?・・・・とか、、、、わからない部分が結構あります。
(コンボボックスでのヘルプには、テキストボックスでのものが記述されているし・・・・)
実は、問題として認識している・・・・・って、いつまで待てばいいんでしょうかね?
直すまでの代替え方法とか・・・・欲しいな・・・・・・・とか思っちゃいますけど・・・
ソフトメーカさんあたりでは、こういう情報はいっぱい持っているんでしょうけど・・・

けど、けど続きましたが、今後ともよろしくお願いいたします。

※ あっ、この記事の内容は ×× で既にあったよ・・・等でも
 私は後発で、しかも検索に苦手意識があります。
 質問があった=検索しにくい? から記事を作ってみたりしてますので・・・
 何故かはわかりませんが、リファラーを見ていると、結構上位で検索されているようです。
 それが、皆さんにとって良い事なのかどうか・・・・わかりませんけど・・・・

kiku #oNfrJm22 | URL | 2013/07/25 22:47 * edit *

top △

コメントの投稿

Secret

top △


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。