2013年12月23日月曜日

sqlserver2000 エラー:14274:msxサーバーからのジョブ、ステップ、スケジュールの追加、更新、または削除はできません

現象
os windws2003 sqlsever2000sp3か4
ジョブを削除しようとすると、上記メッセージが出て削除できない。
sqlサーバーは、サーバーが壊れたため移管したもの

原因
msdbのsysjobsテーブルのジョブ指定のサーバー名が稼動しているサーバー名と違うため

クエリアナライザで、select * @@servernameとしても見れます

処理
original_serverのフィールドを動いているサーバー名と一緒のものに手で打ち変えたら、ジョブが削除できるようになりました。
参考
 SQL SERVER – Fix : Error 14274: Cannot add, update, or delete a job (or its steps or schedules) that originated from an MSX server. The job was not saved.
のgoogle翻訳
http://translate.google.co.jp/translate?hl=ja&sl=en&u=http://blog.sqlauthority.com/2006/12/20/sql-server-fix-error-14274-cannot-add-update-or-delete-a-job-or-its-steps-or-schedules-that-originated-from-an-msx-server-the-job-was-not-saved/&prev=/search%3Fq%3D%25E3%2582%25A8%25E3%2583%25A9%25E3%2583%25BC14274%2Bmsx%25E3%2582%25B5%25E3%2583%25BC%25E3%2583%2590%25E3%2583%25BC%26biw%3D810%26bih%3D375#

microsofの記事「[PRB] サーバーの名前を変更した後で SQL Server エージェント ジョブを更新するとエラー 14274 が発生する」は参考にならなかった
サーバーを元の名前に戻して、ジョブを削除して正しいサーバーに再度戻してジョブを再設定って、もとのサーバーの名前が分からないという。上のようなサーバー名状態だったら無理だ。パソコンの購入時の名前と旧サーバー名が混在してるし。

2013年12月21日土曜日

「使用者は他のユーザーです」の対処 csvファイルを開こうとして

現象
ローカルpcのcsvを開くと、このメッセージが出た
windowsのログオフログインしても変わらずロックがかかったまま
ローカルなので共有していない

処理
マイコンピュータ-右クリック-管理
共有フォルダ-開いているファイルで、該当のファイルがあったので
右クリックで、「開いているファイルを閉じる」をしました

2013年12月20日金曜日

組み込み可能なISAMドライバは見つかりませんでした。

現象
os winxpsp3 excel2003sp3 vbaで
DAOでcsvをオープンしようとき発生

こんなコード
Set objDB = OpenDatabase(DEF_LOCALDBDIR, False, False, _
                             "Text;DATABASE=\\サーバーファイルパス\;hdr=NO;IMEX=1")

解決
参照設定がmicrosoft DAO3.51になってたのをDAO3.6に変えたら症状が出なくなりました。

他やったこと
http://blogs.yahoo.co.jp/abukuma2005/45320694.html
のVisual Studio 6.0 Service Pack 5
を入手してインストールでは解決しなかった
vb6runtimeのインストール

http://hpcgi1.nifty.com/MADIA/VBBBS2/wwwlng.cgi?print+200509/05090075.txt
JET 4.0 Service Pack 8を適用

発生の経緯
ドメイン参加のpcでvbaをテストしてOKで、ドメイン非参加の環境で試すために、ワークグループに変更して症状が出ました。vbaの参照設定を追加する際DAOのバージョンを間違えたようです
まあ、こういうこともあるということで。。

2013年7月27日土曜日

janestyleからevernoteに貼り付ける方法(しょーもないですが)

問題概要
  • 2chスレッドのレスをevernoteに簡単ににコピペしたい

janestyleで2chのスレッドを追っていると、これは記録したいというレス(発言)に出会うことがあります。
そういうとき、janestyleには、直接レスの内容をevernoteに送るコマンドがないので、
どうするかというと、一旦、該当のレスとコピーして、evernoteをたちあげて、新規ノートを作って貼り付けていました。
しかし、めんどい
もっと簡単にコピペ出来る方法を探しました

方法1 evenoteのショートカットを利用する

evernoteを起動
janestyleの該当レスを選択して「コピー」
win+a
Evernoteをもっと使いこなす! ショートカットキー一覧(Windows編)

方法2 janestyleのツール-設定-コマンドに

コマンド名 (任意)evernoteに追加 win7の場合
実行するコマンド "C:\Program Files (x86)\Evernote\Evernote\Evernote.exe" "/Task:PasteClipboard"
と登録

xpの場合は
"C:\Program Files\Evernote\Evernote\Evernote.exe" "/Task:PasteClipboard"

janestyleの該当レスを選択して「コピー」
右クリックのメニュからevernoteに追加を選ぶ
でevernoteにコピー出来ました
Windows - Evernote Developers http://dev.evernote.com/intl/jp/doc/articles/enscript.php

*コピー操作後でないと転送されません。
*方法1のevernoteのショートカットを使う方法は、evernoteが起動していることが前提です
なので方法1は一手間ステップが多いです
*方法2のコマンドとオプションの間はスペースがひとつ入ります




2013年6月29日土曜日

vba 結合セルから単一セルにコピーするには

複数行を一つにした結合セルから単一セルにコピーすると行数値が飛んでしまう
うーん、わかりにくい。
3


1


2


のようになってしまう。
クリップボードで空白行を削除してコピーして
3
1
2
のようにしたい。
いろいろフリーのクリップボードを操作するものを探したんですが、コマンドラインから操作するものがみつからないんですよね

で、クリップボードから3行毎に読み込んで、貼り付けるvbaを作りました
参考
excel クリップボード(yahoo知恵袋)
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1453559284

使い方は、結合セルの行をコピーして、コピー先の先頭セルにカーソルを置いて
下記vbaを走らせる。
マクロ cntl+a など割り当てて、使ってもらうといいと思います

プログラムの説明
①step 3は結合セルが3行分なので、3行ごとに読み込むとちょうど数字を読み込める
UBound(v2) - 3 uboundは配列数を算出  -3は、該当行をコピーすると、一番最後に""という余分な配列が出来たため、一回分減らしています
"2.0"
" "
" "
""  ←余分
②If Len(v2(i)) = 1 Then v2(i) = 0 は、数字の入っていない行が""で作られ if v2(i)=""でなぜかfalseになって文字長1で判定されるためそのようにしました。数字が入ったセルは3.0や1.0のような形で読み込まれています。””だと次の③で型エラーになったので0に変換。
③Cells(r + rec1, c) = v2(i) * 1は、配列の数字が文字列で書き出されるため*1で数字に直しています


Sub test()
Set CB = New DataObject
CB.GetFromClipboard
v1 = CB.GetText
v2 = Split(v1, Chr(10))  ’←これがすごく参考になった、複数行のクリップボードの内容を配列に格納する
r = ActiveCell.Row
c = ActiveCell.Column
rec1 = 0
For i = 0 To UBound(v2) - 3 Step'①
If Len(v2(i)) = 1 Then v2(i) = 0 '②
Cells(r + rec1, c) = v2(i) * 1 '③
rec1 = rec1 + 1
Next i
End Sub

背景
残業をだすシートの人の並びが結合セルで作ってあり、残業をグラフにするブックのセルが1行毎だったので、コピーだと3行ごとに飛んでしまい、それで、毎回手でグラフのシートに数字を入れていました。
空白行をを削除する、休んだ人も空白行のなるため、一人分飛んでしまう。
それで、3行ごとに読み込む形にしました。
このvbaならコピぺするする感覚でできるのでわかりやすいかなと
残業の人の並びと、グラフの人の並びが同じという前提です。
もともと手で入れていたので、並びも一致させています。