yorozu_ya の回答履歴

全206件中1~20件表示
  • エクセル_VBA_フォームの仕様について

    初めまして。マクロ初心者です。 ご質問させていただきます。 エクセル上でマクロを実行し、入力フォームを表示した後 エクセルのセルをマウスでクリックしてもカーソルが表示されない のですが。これは仕様でしょうか? 自分でも調べたんですが。見つける事ができませんでした。 どなたかご存知の方ご教授の方お願い致します。 以上です。

  • Excelマクロで終了

    Excel2007 でマクロで教えて下さい。 今、ExMac1(book) と言うマクロから、ExMac2(book)のサブルーチンを起動しています。 呼ばれたExMac2の最後で、ExMac2を終了する命令を記述すると、全てのマクロが終了して しまいExMac1に制御が戻ってきません。 これは仕様かと思い、呼び出されたExMac2からExMac1を終了させてExMac2の続きを と思いましたが、やはり全てのマクロが終了していまいます。 ちょっと分かりずらい説明で申し訳ありませんが、どうにかして指定したbookマクロだけを 終了させたいのですが、ご教授ください。  呼び出す側  ExMac1 : Application.Run "'ExMac2.xlsm'!main_Click" : end  呼び出される側  ExMac2 sub main_Click : Workbooks("'ExMac1.xlsm'").Close SaveChanges:=False ....(1) msgbox "続き" ....(2) : end  (1)が実行されると、全てのマクロが終了され(2)が  実行されません。

  • VBA: Select Caseを短くしたい

    Excel2003 の VBA でクラスモジュールを作成しています。 Select Case文で Caseが多い場合にコードを短くするテクニックがありませんか。 Select Case i   Case 1     str = "momo"   Case 2     str = "sakura"       ・       ・       ・   Case 100     str = "tsubaki" End Select のようなコードです。 配列に入れることも考えましたが、 str(1) = "momo" str(2) = "sakura"      ・      ・      ・ str(100) = "tsubaki" となって、コードを短くする効果は僅かです。 クラスモジュールなので、ワークシートにデータを入れておくテクニックは使えません。 また、外部ファイル(*.txt など)も管理の面から使いたくありません。 クラスモジュール内だけで完結させるテクニックがないでしょうか。

  • VBSでEXEファイル起動時のパラメータ記述方法

    Office2003をサーバー上に置き、バッチファイルで配布しておりました。 \\server\office2003$\setup.exe TRANSFORMS=\\server\office2003$\setupfile.mst /qd+ Windows7では、ネットワークパスが使えないようでしたので、VBSでインストールを使用と考えています。 空いているドライブを検索して、空いているドライブ名をネットワークドライブに設定しようとしておりますが、      setup.exe のパラメータの箇所で、setup.exeからエラーが出てしまいます。 objWShell.Run strDrive & ":\setup.exe TRANSFORMS=" & strDrive & ":setupfile.mst /qd+", vbNormalFocus, True   strDriveは、空いているドライブを検索した結果のドライ名が入っています。 パラメータの記述方法をおしえてください。

  • Accessの重複データ除外について

    Accessクエリで重複データをしようとしていますが、 プロパティで固有の値を「はい」に指定したり、集計項目をグループ化したりすると データの順序が変わってしまいます。(昇順に並び変わってしまいます。) データの順序を変えずに重複データを除外する方法を教えてください。

  • ORACLEで-0.1を表示させたい

    こんにちは。 ORACLEを使用していますが、うまくデータが反映されずに困っています。 データ型をNUMBERにして、例えば、-0.1を入れるとなぜか「-.1」と言う風に表示されてしまいます。 これってなぜでしょうか? ちなみにNUMBERはNUMBER(10,5)で指定しています。 -0.1と言う風に整数第一位が0の場合でも表示されるようにするにはどうしたらよいのでしょうか? NUMBER型が悪いのでしょうか? どうぞよろしくお願いいたします。

  • VB6.0でDB接続する際に切断時の処理が遅い

    VB6.0のADOで社内LAN上のサーバー(共有PC)内のデータベースファイル(Accesss2003のmdbファイル)へ接続、データ登録を行なっていますが、接続を閉じる際にcn.Close以降の処理で30秒近い時間がかかっています。 昼休み等で接続するユーザーがいない場合も処理時間がかかっています。 テストの為、同じmdbファイルをコピーし、別名のファイルに接続するように変更した場合は 1秒程度で終了します。(下記ソースの(1)と(2)を入れ替え) データ数は約2000件、ファイル容量17MB 接続するユーザーは最多で10名程度、各クライアントのPCで下記コードのEXEファイルを実行して 接続、データ登録しています。 原因、対策案等をご教授ください。 ---------------------------------------- Public Sub DB_ACCESS() Dim cn As ADODB.Connection Dim RS As ADODB.Recordset Set cn = New ADODB.Connection Set RS = New ADODB.Recordset Debug.Print "TEST-1: ", Time Access_DB_Source_File = "\\PC-SERVER\DB\Data_File.mdb" ---------- (1) 'Access_DB_Source_File = "\\PC-SERVER\DB\Data_File_Test.mdb" ---------- (2) cn.ConnectionString = _ "Provider=Microsoft.ACE.OLEDB.12.0;" & _ "Data Source = " & Access_DB_Source_File & _ ";Jet OLEDB:Database Password=otakast2061;" cn.Open 'この部分にデータ参照、登録等を行う処理が入る。 ' RS.Close Debug.Print "TEST-2: ", Time cn.Close Set RS = Nothing Set cn = Nothing Debug.Print "TEST-3: ", Time End Sub

  • アクセスもリレーショナルデータベースマネジメントシ

    アクセスもリレーショナルデータベースマネジメントシステムですか? http://ja.wikipedia.org/wiki/%E3%83%AA%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%8A%E3%83%AB%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%83%9E%E3%83%8D%E3%83%BC%E3%82%B8%E3%83%A1%E3%83%B3%E3%83%88%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0 を見ると、 「エドガー・F・コッドが提唱した関係モデル(リレーショナルモデル)に基づいた、コンピュータのデータベース管理システム (DBMS) である。 」 との事ですがaccessもそうなのでしょうか?

  • アクセスからSqlサーバーへ移行したほうが良い基準

    どのくらいのレコード件数になったら アクセスからSqlサーバーへ移行したほうが良いのでしょうか? 今はレコード数が70000件です。 ユーザーは一人で共有はしません。 レコード数だけじゃ基準になりませんか?

  • SQL文の最後に「;」はいらないのでしょうか?

    VBAのADOについて質問です。 SQL文の最後には「;」を付けなくちゃいけないものだと思っているのですが ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ Private Sub test_Click() Dim CN As ADODB.Connection Dim RS As ADODB.Recordset Set CN = CurrentProject.Connection Set RS = New ADODB.Recordset SQL = "SELECT * FROM Tテーブル" ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ でも問題なくコードが動きました。 SQL文の最後に「;」はいらないのでしょうか? ちなみに SQL = "SELECT * FROM Tテーブル;" でもエラーになりませんでした。

  • left outer joinで抽出したい

    SELECT (TABLE1 INNER JOIN TABLE2 ON TABLE1.CODE = TABLE2.CODE) INNER JOIN TABLE3 ON TABLE1.JAN = TABLE3.JAN というSQL文があります。この文を変更して下記の条件での抽出をおこないたいと思います。 ■TABLE1.JANを元にする。 ■TABLE1.JAN = TABLE3.JANは抽出に含めない ■TABLE1.JANに存在していて、TABLE3.JANに存在しないJANをTABLE1.JANから抽出 このようなSQL文をかきたいのですが、どのようなSQL文にしたらよいでしょうか? left outer joinを使えばいいとは思うのですが、そこから先が思い浮かびません。 よろしくお願いします。

    • ベストアンサー
    • mellow91
    • MySQL
    • 回答数1
  • Accessで起動時の設定で、フォーム設定後落ちる

    officeXPで、起動時の設定で、フォーム/ページの表示でフォームを設定すると、そのフォームを開こうとすると、Accessが落ち、その後、mdbを開けません。 Shiftを押しながら開くと開けます。 そして、起動時の設定で、フォーム/ページの表示で(表示しない)にすると、フォームが開けるようになります。 他のパソコンでこのファイルを使用してみますと、上記のような現象は発生せず、通常通り動作します。 原因が全く分かりません。officeを再インストールしても同じでした。 宜しくお願いします。

  • VBAはいつまで時代遅れの言語を使うのか?

    今からVB6を覚えていくのは時間と手間の無駄ですよね。 .net 基調に統一されるのはいつ頃になると思いますか?

  • 数日経過した後にNULLに変換する処理は???

    SQLでテーブルのある項目に入っている日付がSYSDATEから数日経過した場合、NULLに変換する処理をしたいのですが・・・ 例えば、SYSDATEが「2011/10/22」だとします。 テーブルの内容が下記のようだとします。 日付 -------------- 2011/12/24 2011/10/22 2011/10/14 2011/09/30 2011/11/11 そして、SYSDATEより7日経過したデータをNULLにする処理を走らせると結果をこうしたいのです。 日付 -------------- 2011/12/24 2011/10/22 2011/11/11 ここまでは、特に難しいことではないのですが、この処理に加えて「土」、「日」を考慮する処理を入れたいのです。 例えば、NULL対象データが土曜だったら9日経過するまで消さない、日曜だったら8日経過するまで消さないような処理にしたいのです。 これを単純なSQL文だけでできないでしょうか? あと余談ですが・・・例えば企業の休み(お盆、正月、もしくは祝日など)を考慮したい場合、休みのデータを持ったテーブルを作るほうが無難ですか?それともSQL単文でも可能でしょうか?(長い文かつ効率が悪くても・・・)

    • ベストアンサー
    • mr-r00
    • Oracle
    • 回答数2
  • COBOL 登録日が最新のデータを取得

    課題で「DBからデータを取得する際、登録日が最新のデータを1件取得する」という課題をしています。 そこで以下のような処理のプログラムを書きました。 IF MECIDENPYO_NO NOT = SPACE EXEC SQL SELECT  MAX(INS_DATE),     --登録日    MAX(SKA_SAKI_CD), --出荷先    MAX(SKA_TYPE) --出荷タイプ INTO :A. INS_DATE,   :A. SKA_SAKI_CD,   :A. SKA_TYPE FROM テーブル名 END-EXEC END-IF ・質問1 まず1件情報を取得する方法にはFETCHがありますが、今回はFETCHは使わないとの指定です。 FETCH以外に同じような処理ができる方法はありますか?? ・質問2 上記の処理だとそれぞれのレコードの最大値がバラバラになって取れてしまうため正確な データを取得できません。  ヒントには副問い合わせを使うというふうにかいてあったのですが、 いまいちnetで調べてもよくわかりません 「データを取得する際最新の登録日のモノを取得する処理」をプログラムで書くとするとどのように書けばよいのでしょうか?? よろしくお願いいたします。

  • SQL文

    以下のようなテーブルがあり、 区分に金額1、金額2、金額3、金額4どれかに金額があれば抽出するという SQL文を教えていただければと思います。 (SQLSERVER2008を使用しています) 名称  | 日付 | 金額1 | 金額2 | 金額3 | 金額4 テストa |  1  | 50000 | 金額2 | 金額3 | 金額4 テストb |  1  | 金額1 | 50000 | 50000 | 金額4 テストc |  2 | 金額1 | 金額2 | 50000 | 金額4 テストd |  1 | 金額1 | 金額2 | 金額3 | 金額4 テストe |  1 | 金額1 | 金額2 | 金額3 | 50000 テストf |  1 | 50000 | 金額2 | 50000 | 金額4 テストg |  2 | 50000 | 金額2 | 金額3 | 金額4 テストh |  3 | 金額1 | 金額2 | 金額3 | 金額4 テストy |  4 | 金額1 | 50000 | 金額3 | 金額4 テストj |  5 | 金額1 | 50000 | 金額3 | 金額4 テストk |  1 | 金額1 | 金額2 | 金額3 | 50000 テストl |  1 | 50000 | 50000 | 50000 | 金額4 テストm |  5 | 金額1 | 金額2 | 50000 | 金額4 テストd |  5 | 金額1 | 金額2 | 金額3 | 金額4 テストd |  5 | 金額1 | 金額2 | 金額3 | 50000 例でいくとテストdとテストhの金額1、2、3、4には金額が はいっていないので結果はそれ以外ということです。 また、結果はすべての項目を表示させたいと思っております。 (テストdとテストh以外のレコードの名称 日付 金額1 金額2 金額3 金額4 を表示する) SQL初心者のため、 どうかご教授いただきたいと思います。 よろしくお願いします!!

  • SQLを教えてください

    お世話になります。 商品マスタと商品カラーマスタと商品サイズマスタがあります。 商品マスタの一覧を出したいのですが、 商品に付随しているカラーやサイズも一緒に表示したいのです。 商品マスタ(商品ID・商品名) 商品カラーマスタ(商品カラーマスタID・商品ID・カラーID) 商品サイズマスタ(商品サイズID・商品ID・サイズID) カラーマスタ(カラーID・カラー名) サイズマスタ(サイズID・サイズ) という構成です。 商品カラー、商品サイズは商品に対して複数あります。 表示したい一覧は 商品ID・商品名・カラー・サイズ で 商品1つに対して1行で表し カラー列、サイズ列は「赤・黒・茶」「S・M・L」というように 書きたいのです。 SQLでズバッと取得する方法はありますか? 1行1行、商品ごとに カラー・サイズをループしなくてはいけないのでしょうか? 教えてください。 よろしくお願いします。

  • VBAでフォルダを作成する方法

    エクセル上でコマンドボタンをクリックすると、既定フォルダの中に作成日時をファイル名に入れる形で D:\なんたらフォルダ \なんたら_yyyymmdd \なんたら_hh \mm \ss このような形でフォルダを生成するようにしたいのですが、MrDriにFormat関数を使えばいいのでしょうか?

  • SQLSERVERで関数作成?

    お願いします。 SQLSERVERで、テーブル項目の指定文字列を削除したいのですが その削除したい文字列が複数あります。 例えば、商品マスタ 商品コード | 商品名 | 0001 | black-001.a 0002 | black/001 a とある時、商品名からピリオド、カンマ、ハイフン、スペース、スラッシュ を一度に削除したいです。 そしてその項目をビューで使用したいです。 Replace関数だと一度に一つしか削除できないようなので何か方法がないかと 思案しております。 ふと、関数を作成してできないのかと考えたのですがどうなのでしょうか? ※作成した事がないので・・・・ また他によい方法があればご教授お願いいたします。

  • Excelマクロでファイルを開き、別名での保存方法

    Excel VBAについて確認させてください。 Excel VBAで下記のようなプログラムを作成しました。 簡単に言えば元のファイルを開いて、元のファイルにある処理をして ファイル名を変えて保存するといったマクロです。 ですが、下記のプログラムはInputBox 関数で ユーザにわざわざフルパス(C:\・・・)で入力させる必要があります。 (変数A1の部分です。) この部分をこのマクロの存在するディレクトリの場所を何らかの関数?で あらかじめ検索してその場所を引数に渡して指定しておき、 ユーザにはファイル名のみ入力させる方法に改良したいのですが その方法をご教授いただけますでしょうか。 (チェックするファイルはこのマクロと同じディレクトリにあることになっている設定です。) そして保存するときもフルパス(C:\・・・)でわざわざ入力する必要があります。 (下記のプログラムでは変数A2) そこでこのマクロの存在するディレクトリの場所を何らかの関数?で あらかじめ検索してその場所を引数に渡して指定しておき、 そこに自動的に名前を変えて保存する方法に改良したいのですが その方法をご教授いただけますでしょうか。 (たとえば111.txtを処理した場合、111処理済.txtとして自動的に保存。) 以下、プログラム本文です。 ------------------------------------- Sub charactercheck() Dim a As String Dim y As Long Dim A1 As String Dim A2 As String A1 = InputBox("チェックしたいファイル名をパス名から入力してください。") A2 = InputBox("チェック結果を保存するファイル名をパス名から入力してください。") With CreateObject("Scripting.FileSystemObject").GetFile(A1).OpenAsTextStream a = .ReadAll For y = 1 To Cells(Rows.Count, 1).End(xlUp).Row a = Replace(a, Cells(i, 1), "") Next .Close End With With CreateObject("Scripting.FileSystemObject").OpenTextfile(A2, 2, True) .Write a .Close End With End Sub