rivoisu の回答履歴

全526件中141~160件表示
  • COBOLの修得方法

    経験9年目のSEです。 これまで、Javaを主にWEB系の開発に携わってきました。 COBOLは、その言語名を知っている以外は何も知らないのですが、覚える必要が生じました。 それにあたり良い書籍などを教えていただければ幸いです。 また、Javaをやってきたので、環境構築が無償でできることが当たり前になっているのですが、このあたりCOBOLの事情はどのようになっているのでしょうか。 よろしくお願いします。

  • ログイン画面の作成

    VBAからVBにステップアップしてきた初心者です。 部内の管理ソフトを作成したいのですがその際ログインする人によって権限を変更したいので職員情報(職員ID、氏名、ログインID、パスワード、権限ランク、等々)をDB(ACCESS)に保存しておいて情報抽出したいと思っていますいろいろ考えてコードを作成しているのですがうまく動きません Private Sub TextBox1_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Enter Dim DB As New ADODB.Connection, RS As New ADODB.Recordset Dim 検索Key As String 検索Key = TextBox1.Text If 検索Key = "" Then Exit Sub End If  DB.Open("Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & Application.StartupPath & "\○○.mdb;" & "Jet OLEDB:Database Password=△△;") RS.Open("Select * From 職員リスト Where 職員ID = " & 検索Key & "") If RS.BOF Then MsgBox(検索Key & "に対応する職員がいません。") Exit Sub Else TextBox2.Text = RS.Fields職員ID  ←ここでエラーが出ます End If End Sub まずはTEXTBOX1に職員IDを入力したら勝手に氏名がTEXTBOX2に表示できるようにしたいと思っています。 いろいろレコードセットの表示方法(VBA等)を探し試したのですがどれもうまく動きません。ご教授お願いします 下記のようなサイトもあったのですがVBおよびDB操作を始めたばかりの私には難解でした http://adonetvb.com/VB2008GetkeyData01.html よい方法があればよろしくお願いします

  • ExcelVBAでAccessクエリのインポート方法について

    こんばんは。 色々調べたのですが、ExcelVBAでAccessのクエリをだインポートするやり方がわかりません。 ↓下記のやり方でクエリを指定すると、SELECTなどの指定がないといわれます。 http://dqn.sakusakutto.jp/2008/05/vbaaccessexcel_ado.html 下記のやり方で http://www.asahi-net.or.jp/~ef2o-inue/kihon/sub01_05_22.html →『ADOでデータを取得する。』で上手くいきそうなのですが、 テーブルのインポートはできても抽出部分が入れられません。 AccessのSQL文コピーし、strSQL="SELECT"の部分に 貼り付け、""でくくり、""部分は、''に置き換え、最後の;を消しました。 SQL部分にSELECT~としたのですが、1行に収まらず、自動改行がかかってしまい、1行目の最終に"が自動でついてしまい、 HAVING以降のAND((T_受付表.分類2)) In('優','普','')などの抽出条件がエラーになってしまいます。 VBAの通常改行 _も入れてみたのですが、えらーになってしまいます。 『 DAOでフィールドを個々に指定して読み込む』 で再度SQLを指定してやってみたところ、SELECT部分のみにすると、選択条件の入っていない、テーブルのデータインポートは上手くいくのですが、どうしても条件がいれられません。 どうしたらよいのでしょうか。 チラッと探したところ、クエリはインポートできないなどのご意見があったのですが、実際のところどのようにしたら良いのでしょうか。 宜しくお願い致します。

  • エクセルマクロによる大量ファイルの一括印刷方法

    Excel 2007の印刷マクロについて御教示ください。 <実行したいこと> ○ 数百に及ぶエクセルファイル(すべて単一シートからなる同一セル構成)を、逐一個別のファイルを開いて印刷するのではなく、一度だけエクセルをロードして一挙にこれらを印刷したい。 <環境・条件> ・印刷したいファイル名称は、D:\FILENAMES.TXTに、1ファイル一行単位で記録されている。  D:\DATA\01A001.XLS  D:\DATA\01A002.XLS  D:\DATA\02A010.XLS     … ・印刷の順序は、D:\FILENAMES.TXTに書き込まれているとおりとする。 ・各エクセルファイルは、すべて単一シートの構成である。 ・使用するエクセルは2007、OSはWinXP ※ エクスプローラで印刷したいエクセルファイル名を名称の上昇順に表示させ、これらを一括して範囲指定し右クリックして印刷を指定すると印刷はできますが、印刷の順序が必ずしも上昇順ではなくなってしまい、私の場合この機能は使えません。エクセルのマクロで処理するのが適当なのではないかと考えていますが、エクセルのマクロは使ったことがありません。よろしくお願いします。

  • エクセルで時給が何パターンかある場合の計算式を教えてください

    エクセルで時給計算の表を作っております。 特殊な時給方式の為、どのような計算をしたらよいのか教えてください。 パターンが5種類ほどあり、 数字を1,2,3,4,5と入力した場合に時給が自動で変わるような計算式にしたいのです。 例)「1」と入力した場合、時給が800円となり、 時間(1.5h)×時給(800円)となるような計算式です。 よろしくお願いします。

  • エクセルのシート名を印刷したくない

    シート名を印刷する方法はよく乗っているのですが、逆に印刷したくない場合はどうやればいいかがなかなか見つかりません。 自動でシート名を挿入する設定になっているみたいですが、どうやって変えたらいいでしょうか。

  • マクロを組んで作業するのは実力ではないですか?

    私の職業は一般事務(派遣)ですが 少しVBAがわかるのでルーチン化できるものはマクロを組んでいます。 そうすることによってエクセルで1時間かかる作業が1分で終わることがあります。 なので職場では「仕事が早い、仕事ができる」と評価されることがありますが 先日先輩に怒られました。 内容は ・VBAを使うのはずるい ・それは実力ではない ・仕事が早いというのは同じ環境でどれだけ間違いがなく効率よく作業ができるかだ。 ・マクロを組むのはズルとしているのを同じ と。 確かに手作業で行なえば周りの人と同じくらいの速さなので 周りと同じ環境であれば(マクロを組まなければ)仕事が早いとは言えないかもしれません。 しかし業務をどう効率よくして作業をするかを考え実践するのも仕事のうちだと思うのですが 私の考えは間違ってますか? 入力ミスもチェックするコードを書いたので、ミスはありません。 「マクロを組んだ方が仕事が早くなるが それが仕事ができる人には繋がらない」 のでしょうか? 職場にはマクロを組めるのは私しかいません。 仕事が早く終わったからって遊んでるわけではないし 時間が余れば さらに効率化できないかを考えたりしています。

  • Excelで改行が含まれたフィールドをcsvに変換する際改行を取る方法を教えてください

    ExcelをCSVファイルにする必要があり、レコードの形式を "aaa","bbb","ccc"改行コード にしたいいと考えております。(それぞれのフィールドに改行コードは不可) Excelファイル時に、改行を置換(Ctrl+JをNULLで置換)しCSVで保存しエディタで見ると改行が残っています。(CR-LFがCRに置換されているため) 使用しているエディタはEmエディタです。 Accessでインポートしたのちtxtでエクスポートしても結果は一緒でした。 フィールド内の改行だけを取る方法はありますでしょうか。

  • Excel2003で列数制限以上のCSVファイルを読み込む方法

    初めて投稿いたします。 仕事で使うCSV形式のテキストファイルをExcel2003に読み込ませようとしています。1つのデータ群が数値50個の連続データで構成されていますが、改行情報が入っていないため、データ群が多くなると列数制限(256列まで)でファイル自体が単純に読めない状態です。 データ群毎に改行すれば、1枚のワークシートで読み込めると思います(下記イメージ)。何とか頑張ってVBAマクロで作成したいと思います。 参考になるサンプルマクロとかをご存じないでしょうか?CSVエディタとの併用も考えましたが、Excelだけで完結できればありがたいです。 どうぞよろしくお願い申し上げます。 [現在のデータ形式イメージ] a1,a2,…,a50,b1,b2,…,b50,c1,c2,…,c50,d1,d2,…,d50,……… (1行で連続したデータ) [変更後のデータ形式イメージ] a1,a2,…,a50 b1,b2,…,b50 c1,c2,…,c50 d1,d2,…,d50 e f … (1行あたり50列のデータ)

  • エクセル計算

    計算式(関数)で求めた数値をランダムなセルのみ合計したり平均を 出したりの求めかた有りましたら教えて頂きたいのですが お願いします。

  • VBS【ドライブ残量】

    いつも大変御世話になっております。 【D:\test】フォルダ内に、VBS【test.vbs】があります。 この【test.vbs】は以下のようなコードです。 -------------------------------------------------------------------------------------- Dim fso, d, s Set fso = CreateObject("Scripting.FileSystemObject") Set d = fso.GetDrive(fso.GetDriveName("C:\")) s = s & "Cドライブ使用可能領域 : " & FormatNumber(d.FreeSpace/1024, 0) s = s & " KBです。" if FormatNumber(d.FreeSpace/1024, 0) > 50000000 then wscript.echo s & " 50G以上の空き容量を確保してますので安全容量です。" else if FormatNumber(d.FreeSpace/1024, 0) > 20000000 then wscript.echo s & " 20G以上の空き容量があります。" else if FormatNumber(d.FreeSpace/1024, 0) > 10000000 then wscript.echo s & " 10G以上の空き容量があります。" else wscript.echo s & "不要ファイルを削除して下さい。" end if end if end if -------------------------------------------------------------------------------------- 上記VBSはCドライブ内の空き容量をkbでよみにいき、kbの数値で判定しています。 これをGBでよみにいってGBで判定したいのですが可能でしょうか? 理想は2ケタ表示です。 例:25G (四捨五入で繰り上げた値) かつwscript.echoのメッセージ箇所を【D:\test\LOG】フォルダ内の【DRIVE.txt】というファイルに追記とかは可能でしょうか? 計算方法の箇所を変更するばよいのですが、ややこしくて困っています。 何かアドバイス等をご教授願いますでしょうか? 宜しくお願い致します。

  • VBS【ドライブ残量】

    いつも大変御世話になっております。 【D:\test】フォルダ内に、VBS【test.vbs】があります。 この【test.vbs】は以下のようなコードです。 -------------------------------------------------------------------------------------- Dim fso, d, s Set fso = CreateObject("Scripting.FileSystemObject") Set d = fso.GetDrive(fso.GetDriveName("C:\")) s = s & "Cドライブ使用可能領域 : " & FormatNumber(d.FreeSpace/1024, 0) s = s & " KBです。" if FormatNumber(d.FreeSpace/1024, 0) > 50000000 then wscript.echo s & " 50G以上の空き容量を確保してますので安全容量です。" else if FormatNumber(d.FreeSpace/1024, 0) > 20000000 then wscript.echo s & " 20G以上の空き容量があります。" else if FormatNumber(d.FreeSpace/1024, 0) > 10000000 then wscript.echo s & " 10G以上の空き容量があります。" else wscript.echo s & "不要ファイルを削除して下さい。" end if end if end if -------------------------------------------------------------------------------------- 上記VBSはCドライブ内の空き容量をkbでよみにいき、kbの数値で判定しています。 これをGBでよみにいってGBで判定したいのですが可能でしょうか? 理想は2ケタ表示です。 例:25G (四捨五入で繰り上げた値) かつwscript.echoのメッセージ箇所を【D:\test\LOG】フォルダ内の【DRIVE.txt】というファイルに追記とかは可能でしょうか? 計算方法の箇所を変更するばよいのですが、ややこしくて困っています。 何かアドバイス等をご教授願いますでしょうか? 宜しくお願い致します。

  • ソフトウェア特許について

    アルゴリズムやデータ構造にソフトウェア特許が認められるとどうなりますか? また、認めない場合はどうなりますか? 教えてください! お願いします。

  • Excel2003での複雑な表計算、教えてください。

      A  B  C  D  E  F  G  ----------------------------------- 1|  4   6      1.2   4.8   5.6 2| 10   20       0.2  7.2   6.3 上記のような表で、 同じブックの別のシートのA1列より、 A1×E1の解 A1×F1の解 A1×G1の解 A2×E2の解 A2×F2の解 A2×G2の解(以降、A列の行に数字があれば同じように繰り返し) 隣のB列にも同じように、 B1×E1の解・・・というように計算をしていき表をつくりたいのですが、関数ではどうがんばってもうまくいきません。 VBAでやればなんとかできるかと思うのですが、本を読んでもさっぱりわかりません。。。 誰か詳しい方、教えてくだされば幸いです。 説明が足りなければご指摘ください。 よろしくお願いいたします。

  • 抜き出しマクロについて

    以下のプログラムは10行ごとにデータを抜き出すプログラムです。 これに追加して、普段は10行に1個データを抜き出し、前回の結果より10増減があったとき、 20結果の増減があった時にもデータを抜き出すようにするにはどうすればいいですか? 例えば以下の通り time result 1   1 2   1 3   1 4   1 5   1 6   1 7   1 8   1 9   1 10   1 11  100 12  500 13  1000 14  1000 15  1000 16  1000 17  1000 18  1000 19  1000 20  1000 21  1000 ・  ・ ・  ・ ・  ・  ↓ time result 1   1 10  1 11  100 12  500 13  1000 20  1000 ・  ・ ・  ・ ・  ・ ここからプログラム ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ Sub nukitori() Dim X As Worksheet Dim i As Long Dim ii As Long Dim col As Integer Dim Nukitori_Step As Long Nukitori_Step = 10 i = 2 ii = 2 '●●●見出し行が1行目なので2で始める Set X = ActiveSheet '●シートShordataがあったら削除 On Error Resume Next Application.DisplayAlerts = False Worksheets("shortdata").Delete Application.DisplayAlerts = True On Error GoTo 0 Worksheets.Add.Name = "shortdata" '●先ず、見出しをコピー Worksheets("shortdata").Rows(1).Value = X.Rows(1).Value While X.Cells(i, 1) <> "" And i < 65535 For col = 1 To 255 Worksheets("shortdata").Cells(ii, col).Value = X.Cells(i, col).Value Next If i = 2 Then i = 1 i = i + Nukitori_Step ii = ii + 1 Wend End Sub

  • Excel VBAを後ろで動かす方法

    VBAが書かれたEXCELのブックがあります。これは、一定時間ごとに処理を行います。その間、別のEXCELブックをひらいて、アクティブにしておきます。そして、VBAが書かれたEXCELファイルの一定間隔ごとの処理が呼ばれたときに、エラーメッセージが表示されます。 エラーメッセージ  実行時エラー 1004  RangeクラスのSelectメソッドが失敗しました。 エラー発生箇所  ThisWorkbook.Sheets("シート1").Range("A2:AZ")).Select エラー発生箇所の前に ThisWorkbook.Activate を入れるとエラーが発生しませんが、画面が切り替わってしまいます。 画面が切り替わらずに、処理を続ける方法を教えてください。 宜しくお願いします。

  • Excel VBAを後ろで動かす方法

    VBAが書かれたEXCELのブックがあります。これは、一定時間ごとに処理を行います。その間、別のEXCELブックをひらいて、アクティブにしておきます。そして、VBAが書かれたEXCELファイルの一定間隔ごとの処理が呼ばれたときに、エラーメッセージが表示されます。 エラーメッセージ  実行時エラー 1004  RangeクラスのSelectメソッドが失敗しました。 エラー発生箇所  ThisWorkbook.Sheets("シート1").Range("A2:AZ")).Select エラー発生箇所の前に ThisWorkbook.Activate を入れるとエラーが発生しませんが、画面が切り替わってしまいます。 画面が切り替わらずに、処理を続ける方法を教えてください。 宜しくお願いします。

  • エクセル側からアクセスへデータ転送

    エクセル側からアクセスへデータを転送したく、 Sub Data_Add() Dim db As New ADODB.Connection Dim Rs As New ADODB.Recordset db.Open _ "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=C:\Users\Owner\Desktop\A.mdb;" Rs.Open "B", db, adOpenStatic, adLockPessimistic Rs.AddNew Rs!a = Worksheets("1").Range("A1").Value Rs!b = Worksheets("1").Range("B1").Value Rs!c = Worksheets("1").Range("C1").Value Rs!d = Worksheets("1").Range("D1").Value Rs!e = Worksheets("1").Range("E1").Value Rs.Update Rs.Close db.Close これで、エクセルからアクセス"A"のテーブル"B"のフィールド"a"にエクセルの"A1"を、フィールド"b"にエクセルの"B1"をという風に、セル1つづつを転送させる事はできましたが、セル1つづつでは無く、A列をフィールド"a"に、B列をフィールド"b"にという風に、列ごと追加するにはどの様にしたらいいですか? 又、追加ではなく更新(すでにあったデータに追加するのではなく、上書き)するにはどの様にしたらいいですか? 追加、更新それぞれしたいので、誰か教えて頂けませんか? よろしくお願いします。

  • エクセル側からアクセスへデータ転送

    エクセル側からアクセスへデータを転送したく、 Sub Data_Add() Dim db As New ADODB.Connection Dim Rs As New ADODB.Recordset db.Open _ "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=C:\Users\Owner\Desktop\A.mdb;" Rs.Open "B", db, adOpenStatic, adLockPessimistic Rs.AddNew Rs!a = Worksheets("1").Range("A1").Value Rs!b = Worksheets("1").Range("B1").Value Rs!c = Worksheets("1").Range("C1").Value Rs!d = Worksheets("1").Range("D1").Value Rs!e = Worksheets("1").Range("E1").Value Rs.Update Rs.Close db.Close これで、エクセルからアクセス"A"のテーブル"B"のフィールド"a"にエクセルの"A1"を、フィールド"b"にエクセルの"B1"をという風に、セル1つづつを転送させる事はできましたが、セル1つづつでは無く、A列をフィールド"a"に、B列をフィールド"b"にという風に、列ごと追加するにはどの様にしたらいいですか? 又、追加ではなく更新(すでにあったデータに追加するのではなく、上書き)するにはどの様にしたらいいですか? 追加、更新それぞれしたいので、誰か教えて頂けませんか? よろしくお願いします。

  • エクセル側からアクセスへデータ転送

    エクセル側からアクセスへデータを転送したく、 Sub Data_Add() Dim db As New ADODB.Connection Dim Rs As New ADODB.Recordset db.Open _ "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=C:\Users\Owner\Desktop\A.mdb;" Rs.Open "B", db, adOpenStatic, adLockPessimistic Rs.AddNew Rs!a = Worksheets("1").Range("A1").Value Rs!b = Worksheets("1").Range("B1").Value Rs!c = Worksheets("1").Range("C1").Value Rs!d = Worksheets("1").Range("D1").Value Rs!e = Worksheets("1").Range("E1").Value Rs.Update Rs.Close db.Close これで、エクセルからアクセス"A"のテーブル"B"のフィールド"a"にエクセルの"A1"を、フィールド"b"にエクセルの"B1"をという風に、セル1つづつを転送させる事はできましたが、セル1つづつでは無く、A列をフィールド"a"に、B列をフィールド"b"にという風に、列ごと追加するにはどの様にしたらいいですか? 又、追加ではなく更新(すでにあったデータに追加するのではなく、上書き)するにはどの様にしたらいいですか? 追加、更新それぞれしたいので、誰か教えて頂けませんか? よろしくお願いします。