2007年12月26日水曜日

vb 待機する サンプル

Option Explicit 'SampleNo=074 WindowsXP VB6.0(SP5) 2002.05.16
'既存のプロセスオブジェクトのハンドルを取得(P665)
Private Declare Function OpenProcess Lib "kernel32" _
(ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, _
ByVal dwProcessId As Long) As Long
'指定のプロセスの終了コードを取得(P660)
Private Declare Function GetExitCodeProcess Lib "kernel32" _
(ByVal hProcess As Long, lpExitCode As Long) As Long
'開かれているオブジェクトのハンドルを開放する(P1252)
Private Declare Function CloseHandle Lib "kernel32" _
(ByVal hObject As Long) As Long
Private Const PROCESS_QUERY_INFORMATION = &H400&
Private Const STILL_ACTIVE = &H103&

Sub pcom()

Dim IDProcess As Long
Dim hProcess As Long
Dim ExitCode As Long
Dim ret As Long

IDProcess = Shell("パス\プログラム.exe")
hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, 1, IDProcess)
Do
ret = GetExitCodeProcess(hProcess, ExitCode)
DoEvents
Loop While (ExitCode = STILL_ACTIVE)
ret = CloseHandle(hProcess)

End Sub

2007年12月22日土曜日

firefoxのブックマークをfirefoxにインポートするには 移行

firefoxのツールバーから
ブックマーク-ブックマークの管理-ファイル-インポート-ファイルからインポートで
E:\Documents and Settings\ユーザー名\Application Data\Mozilla\Firefox\Profiles\xxxxxx.default\bookmarks.htmlを指定

2007年12月19日水曜日

レジストリ 隠しフォルダ 戻す

たぶん 

修正前 隠しフォルダが見れないpcのレジストリ
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\"Hidden" = "2"
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\"ShowSuperHidden" = "0"
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\"NoDriveTypeAutoRun" = "145"
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\Advanced\Folder\Hidden\SHOWALL\"CheckedValue" = "0"

修正後(なおす)私の隠しフォルダが見れる状態のレジストリ
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\"Hidden" = "1"
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\"ShowSuperHidden" = "1"
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\"NoDriveTypeAutoRun" = "145"
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\Advanced\Folder\Hidden\SHOWALL\"CheckedValue" = "1"

参考)
Backdoor.Glupzy次のレジストリサブキー内の  *2012/1/19リンク先修正

  1. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer

    次のレジストリエントリを設定します。

    "NoFolderOptions" = "1"

    これにより、Windows Explorer 内の [Tools (ツール)] メニューから、[Folder Options (フォルダ オプション)] メニューアイテムを削除します。
  2. 次のレジストリサブキー内の
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced

    次のレジストリエントリを設定します。

    "HideFileExt" = "1"

    これにより、Windows Explorer 内でファイル拡張子を隠します。
  3. 次のレジストリサブキー内の
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced

    次のレジストリエントリを設定します。

    "Hidden" = "2"

    これにより、隠しフォルダおよびファイルを表示しないようにします。
  4. 次のレジストリサブキー内の
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess

    次のレジストリエントリを設定します。

    "Start" = "4"

    これにより、Windows ネットワーク共有をストップします。


2007年12月12日水曜日

&H80004005(-2147467259)でこける

イベントログのアプリケーションを消去したら開くようになった
event log max
clear then run :-)

ログファイルのプロパティ設定について

から

2007年11月29日木曜日

as400 dfu 別のデータベース・メンバーで重複キー・エラーが起こった

論理ファイルのunique違反だった

2007年11月27日火曜日

excel-->sqlserver dtsの転送で整合性エラー

null対策で
Function Main()
if isnull( DTSSource("SEHN01")) then
DTSDestination("SEHN01")=" "
else
DTSDestination("SEHN01") = DTSSource("SEHN01")
end if
Main = DTSTransformStat_OK
End Function

というスクリプトを組んでいたが通用しなくなった?ので
素直にcsvで落とすのが吉のようだ

2007年11月22日木曜日

dts vb  「[DBNETLIB]ConnectionOpen(Connect())SQL Serverが存在しないか、アクセスが拒否されました。」

sqlserver2000
dts利用時にエラー

サーバー名をipにしたら受け付けた
私のpcではサーバーのpc名でエクスプローラが開かなくなっている
No15371.アップサイジングウィザードでのエラー

excel2007の範囲からpcomで転送可能なcsvを書き出す vbaに実装する

excel4.0シートをasにアップロードする転送をcsvに切り替えるには
まず ttoをbasic順次に変えて転送記述を変更
pcommの転送記述ファイルの場所を確認 "パス名\ファイル名.fdf"
書き出しファイル名、ファイルパスの決定 "パス\ファィル名.csv"
転送元範囲の書き換え MAKE_CSV_FILE
vba実行後 csvを開いて文字列にダブルコーテーションが入っているか確認

*コードを載せただけでは解析だけで挫折して使ってもらえなそうなので書き換え↑
dimで定義をしていない部分でこけるかも

Sub make_csv1()
Dim strsws As String '転送定義  '文字列 1文字,2数字 例 1110001など
Dim startrow As Integer '範囲の何行目から読むか、1行目がタイトルなら2行目から読むので2

'fdfから定義を読み込み文字列に展開する
callfdf "パス名\ファイル名.fdf", strsws
'excelの範囲名から、定義情報に従い、csvに書き出す
MAKE_CSV_FILE "パス\ファィル名.csv", strsws, startrow

End Sub

範囲を設定するvba

マクロ記録をアレンジしただけのもの
Sub datanamecrt()
Worksheets("data").Activate
start01=3 '例
endr=cells(start01,1).end(xldown).row
if endr=65536 then
endr=start01
end if

adr = "=data!" & Range(Cells(start01, 1), Cells(endr, 11)).Address(ReferenceStyle:=xlR1C1)
ActiveWorkbook.Names.Add Name:="databse", RefersToR1C1:=adr
End Sub

2007年11月21日水曜日

excelの範囲名からcsv形式で書き出す 文字””で囲み数字はそのまま

目的
excel2007からpcomで送信可能なcsvを出力する

no error trap とりあえず文字に""で囲まれて数字はそのままカンマで区切られ
pcomの csv-->asの転送もエラーなく終わりました

'parm2 outfile name
'parm3 judge string? 判定のstring
'parm4 start row ’範囲の先頭行がタイトルだった場合2行のデータ行から読む
'先頭からデータの場合は1行目から読む
'vbaに組み込んで使うのを想定するので転送元ファイル名は指定しない

Sub MAKE_CSV_FILE( outfilecsv, strsws,startrow)
Dim frm(255)
Dim objHANI As Range

name1 = ActiveWorkbook.Name
'転送元範囲セット
'例 Set objHani = Range(Cells(5, 1), Cells(Cells(5, 1).End(xlDown).Row, 30))
Set objHANI = Range(rng)

'定義情報を配列に展開する
GoSub fdf
'ファイルをオープンする
Dim FNO As Integer 'ファイル番号
FNO = FreeFile '空いてるファイル番号を取出す
Open outfilecsv For Output As #FNO 'テキストファイルを新規作成

'行、列でループを作る
Dim y As Integer
Dim x As Integer
For y = startrow To objHANI.Rows.Count '行のループ
'1列目
If frm(1) = "1" Then
Print #FNO, Chr(&H22) & objHANI.Cells(y, 1).Value & Chr(&H22); '先頭項目の出力
Else
Print #FNO, objHANI.Cells(y, 1).Value; '先頭項目の出力
End If
'2列目以降
For x = 2 To objHANI.Columns.Count '列のループ
Print #FNO, ",";
If frm(x) = "1" Then '文字
Print #FNO, Chr(&H22) & objHANI.Cells(y, x).Value & Chr(&H22); '先頭項目の出力
Else '数字
Item1 = objHANI.Cells(y, x).Value
If Item1 = "" Then Item1 = "0"
Print #FNO, Item1; '先頭項目の出力
End If
Next x
Print #FNO, "" '改行のみ出力
Next y

'ファイルをクローズする
Close #FNO
Exit Sub
fdf:
For i = 1 To Len(strsws)
'ReDim frm(1)
frm(i) = Mid(strsws, i, 1)
Next
Return
End Sub

参考
VB テクニック編12 - CSV テキストファイル形式仕様、ハンドリングサンプル

freewareでexcelからcsvに出力するものがたくさんあるがどれもカンマ区切りのみだったり
すべてダブルコーテーションで囲んだりで、その項目を文字数字で判断し列として一貫性がなかったり、pcomの送信につかえないものばかり
可変長にこだわるのはexcelが文字数の制限をしなければ、固定長で転送した場合容易に
転送エラーになるから。文字数制限すればいいじゃんともいえるが、ひとつづつ設定するのが面倒
もともと列にどんだけでも入るんだからこけずに転送させてくれよと
桁はみだしたときは、はみ出したよってメッセージだけで通してねと

つうかどなたかexcel2007のpcでexcel4.0に保存するソフト作ってくれないかな。。。
こんなスクリプト?でも恥ずかしげもなく出せるのがブログのよさ?( ´∀` )
業務で運用しつつエラーが無いだったらどっかの会議室に書き込もうと思います

pcom転送記述FDFから文字数字の判定を切り出す

目的
excel2007で4.0シートが使えなくなったのでエクセルから可変長ファイルでasへ転送を可能にする
excel2007-->csv--pcom-->asの実現
excelはブランクセルがあり列の文字数字の判定が難しい。あらかじめ数字列のブランクに0を埋め込むことで判定は可能だがasの転送記述をもとに転送するので同じ基準で転送した方が間違いが少ないと
思われる

まず転送記述FDFから文字数字の判定を切り出す

fdfとは
PCFDF
PCFT 3
PCFO 1,1,3,1,1
PCFL KOTE 1 5
PCFL REC 2 7
PCFL JMHN 1 10
PCFL HRHN 1 12
PCFL BIKO 1 12
PCFL DESC 1 3
PCFL HN83 1 3
PCFL MF 1 2
PCFL NDT 2 9
PCFL BSU 2 12/3
PCFL BM 1 2
転送記述であるが スペースで区切った3項目目1が文字2が数字をあらわす
4行目からフィールドの判定項目が始る
結果はstrswsという文字列に書き出す
strsws="121111112222" ←こんな感じの結果

Sub callfdf(in_file As String, strsws As String)
'fdffile asの転送記述ファイル,
Dim frm(255)

'in_file = "パス\hr01.fdf"

'** ファイルオープン
FNO = FreeFile
Open in_file For Input As FNO Len = 32000

x = 1
Do Until EOF(FNO)
Line Input #FNO, rec
'4行目から処理
If x >= 4 Then
len1 = Len(rec)
Count1 = 0
For i = 1 To Len(rec)
If Mid(rec, len1 - i, 1) = " " Then Count1 = Count1 + 1
'右から読み込んで2番目のスペースの左から1ケタ分読み込む
'PCFL MF 1 1 mf=フィールド名,文字数字種別,桁数 文字数字種別1=文字、2=数字
If Count1 = 2 Then
frm(x - 3) = Mid(rec, len1 - i + 1, 1)
Exit For
End If
Next
End If
x = x + 1
Loop

Dim y As Integer
'読みだした配列を文字列に書き出す
For y = 1 To 255
strsws = strsws & frm(y)
len2 = Len(strsws)
Next
Close FNO
End Sub

excel2007 範囲名をつける、範囲名を確認するには

セルに「名前」を付けて計算式を読みやすくする
数式-名前の管理から

何回やっても覚えられない。。。

csv

表範囲CSV出力「明日葉」
http://www.vector.co.jp/soft/dl/win95/business/se174370.html
数字文字の判定なくすべて""で囲まれ使えない

pcom のas-->pc biff4ではフィールドの数字には0,文字のブランクセルはブランクで作れれる
excel2003以前でexcel4.0で保存すると数字フィールドでもブランクにおきからえられる
pc-->as時の判定はfdfにフールドが文字か数字か書いてあるのでそれで送信されている
as-->pc biff4と pc -->as biff4では数字が前者では入っていて後者では入っていなくても
問題なく転送されていた

2007年11月17日土曜日

ophcrack モードの変更

ophcrackをブートして ubuntuが立ち上がらずblack screenになってしまうことがあります
テキストモードで起動すると cannt open display などと表示されます
解決策は分かりません(´・ω・`) がモードの替え方は分かったので書きます
google で ophcrack text modeで検査するとすぐ出てくる情報ではあります

boot時にtabキーを押す指示が出て入れるコマンドを要求されますが
kernel /以下を入れるとモードの変更が出来ます

リンク
title Ophcrack LiveCD Graphics mode (auto mode)
find --set-root /boot/vmlinuz
kernel /boot/vmlinuz vga=769 ramdisk_size=6666 root=/dev/ram0 rw autoexec=xconf;startx
initrd /boot/initrd.gz

title Ophcrack LiveCD Graphics mode (VESA mode)
find --set-root /boot/vmlinuz
kernel /boot/vmlinuz vga=769 ramdisk_size=6666 root=/dev/ram0 rw autoexec=startx
initrd /boot/initrd.gz

title Ophcrack LiveCD (if kernel hangs in other modes)
find --set-root /boot/vmlinuz
kernel /boot/vmlinuz vga=769 ramdisk_size=6666 root=/dev/ram0 acpi=off noagp nopcmcia noapm nousb rw autoexec=xconf;startx
initrd /boot/initrd.gz

title Dump hashes automatically in text mode
find --set-root /boot/vmlinuz
kernel /boot/vmlinuz vga=normal ramdisk_size=6666 root=/dev/ram0 rw autoexec=/root/dump_hash.sh
initrd /boot/initrd.gz

title Ophcrack LiveCD Text mode (to configure X manually)
find --set-root /boot/vmlinuz
kernel /boot/vmlinuz vga=normal ramdisk_size=6666 root=/dev/ram0 rw
initrd /boot/initrd.gz

2007年11月16日金曜日

歩留り率

良品/総投入量=歩留り率

部品構成の所要量から使用重量を歩留り率で計算するには
良品=所要量
総投入量=使用重量

総投入量=良品/歩留り率
当り前のようだが
屑重量=総投入量-良品
   =良品/歩留り率-良品
である
屑=良品X(1-歩留り)とすると 単純でわかりやすく見えるが
総投入量=良品+良品X(1-歩留り率)
   =良品(1+1-歩留り率)
   =良品(2-歩留り率)とおかしな計算になる

2007年11月8日木曜日

excel2007環境で dtsでexcel4.0シートを受信するには activex

excel2007環境になって excel4.0シートでの保存ができなくなりました
asからsqlserverに受信するときpcom excel4.0シートを介して転送している処理がすべてこけるようになってしまった。

dts activeXスクリプトサンプル

*saveas がexcel2003の環境でこける(?)のでバージョン判定追加
KazzzのJとNのはざまで 参考

Function Main()
Set xlsobj = CreateObject("excel.application")
With xlsobj
.DisplayAlerts =false
bookname="c:\My Documents\tenso\filename.xls"
bookname1="filename.xls"
.Workbooks.Open bookname
.Workbooks(bookname1).activate

if cint(.Application.Version) <12
.ActiveWorkbook.Saveas bookname
else
.ActiveWorkbook.Saveas bookname,56
end if

.ActiveWorkbook.Close
.DisplayAlerts =true
End With
Set xlsobj = Nothing
Main = DTSTaskExecResult_Success
End Function

エクセルの保存形式56については  
KazzzのJとNのはざまで

2007年11月5日月曜日

excel2007 excel2003書式 スタイルのコピーにかわるコマンド

「ホーム」-「セルのスタイル」-「スタイルの結合」

2007年11月3日土曜日

フォルダが開くない マイミュージック

マイミュージック下にフォルダを誤って移動
エクスプローラでマイミュージックを開くとcpuが高負荷になって開かなくなった

excelファイルを開くからは開く

復帰方法
セーフモードで開くとなぜか開くのでフォルダを元の位置に戻したら正常に開くようになった

2007年10月11日木曜日

netvista 6843-scj cdboot

電源on時 f1連打 受付が短いため
始動順序 enter
enterかspaceかで切り替わったと思う
一番初めをcd-romに

hddから始動してしまう場合はcd-romが認識できていない可能性がある
クリーニング

2007年10月10日水曜日

ユーザー定義関数をvbaで使うには

function sub で select句の中に組み込む

Function seireki(gen As Long) As Date
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
'Dim date1 As Date
Set rst = New ADODB.Recordset
strsql = "select dbo.fndateconv2(" & gen & ") as date1 "

Set cnn = CurrentProject.Connection
rst.Open strsql, cnn, adOpenForwardOnly, adLockReadOnly

seireki = rst!date1

rst.Close
Set rst = Nothing
Set cnn = Nothing
End Function

adp オブジェクトが見つからない クエリ

クエリの日付入力で文字で入力して071010 日付2007/10/10に変換している場合
存在しない日付を入れたとき 070931は変換不能
クエリを開くとき 見つからないエラーになる

equal to 操作での照合順序の競合を解決できません。

sqlserver select =で照合順序が違うとでる
照合順序を合わすには フィールドの後にcollate japanese_bin等と記述する



テーブルプロパティ




2007年10月8日月曜日

as query + について

置換文字が含まれているというエラー
数量も単価も正常に表示されていて 金額が+++になるのは
「報告書の欄の形式指定」ではなく
「結果のフィールドの定義」の式の 桁数が少なすぎるとき

2007年9月25日火曜日

fnwfdesignが見つかりません

newworkfriendの定義を開いたときに出た
再インストールで直った

2007年9月23日日曜日

firefox ブックマーク フォルダ 並び替え

ブックマーク管理
右の表示ペインのフォルダ、ブックマークを
左のツリーにドラッグアンドドロップすれば 並び替え出来る
ieやエクスプローラのように 左のツリーのドラッグアンドドロップは出来ない

firefox 2.0.0.7

2007年9月5日水曜日

5250システム生成データemcnfigj.datが無効

キーボード5576-B01,5576-001の違いで無効になった
キーボードの変更を完了するには5250FDが必要

reason keybord def 5576-B01,5576-001

2007年9月4日火曜日

pdfの表をexcelにコピーするには

acrobatの 表/書式付きテキスト選択ツールは
エクセルのセルにうまく振り分けられずうまくいかなかった acrobat5.0

テキスト選択ツールでエクセルにコピー貼付
罫線がスペースに変換されて1行が1つのセルに張り付く
=SUBSTITUTE(A2," ",",") でセルを,区切りにする
メモ帳に貼付る 拡張子txtまたはcsv

千の位の,と区切りのカンマがダブるので修正が必要
そのままだと千の区切りで2つのセルに分かれる

2007年8月27日月曜日

ssc 無効 同期の時間切れ

Symantec System Center で表示されるアイコンに関して

無効なサーバー
以前は存在していたサーバープログラムと通信不能になっている場合にこのアイコンが表示されます。SSC 上にサーバープログラムの情報が一度キャッシュされると、コンソール上でサーバーを削除するか、キャッシュを消去しなければ情報は保持し続けられます。そ のサーバーが実際にネットワーク上に存在しない場合はこの表示は問題ではありませんが、存在しているサーバーに対してこのアイコンが表示されてしまう場合 は、サーバープログラムのサービスが停止しているかネットワーク上の通信に問題が発生している可能性があります。

serverのサービス symantec antivirusが停止処理中になっていた

2007年7月14日土曜日

ファイル共有の書き込みができない

共有のセキュリティと
フォルダのセキュリティを確認

共有がevveryoneで書き込みのみのアクセス権だと
フォルダのユーザーにフルアクセスの権限があっても書き込みできない

EXCEL VBA ぶつ切りの表を連続で処理するコード

Sub clear2(n, n1, n2)
endr = 1
'EXCEL 2007最終行が違うかも
Do Until endr >= 65536
Start = endr
endr = Cells(endr, 1).End(xlDown).Row
If endr >= 65536 Then Exit Do

Start = endr + 1
endr = Cells(endr, 1).End(xlDown).Row

Range(Cells(Start, n), Cells(endr, n)).ClearContents
Range(Cells(Start, n1), Cells(endr, n1)).ClearContents
Range(Cells(Start, n2), Cells(endr, n2)).ClearContents
Loop
End Sub

分かりにくいが 自分の表では4行~28行 
2回目は34~48行が処理される
1列目に文字が入ってるところまで処理するパターン

空白行

空白行

のパターンで処理が出来ます

2007年7月12日木曜日

8482-2dj 起動時にusb hdが優先され立ち上がらない問題 

device and i/o setup
usb legacy... disableに
バイオスレベルでusb hd disketを認識しなくさせる
biosは立ち上げ時だけなので windowsが立ち上がった後はos の制御でhddは使える
本体のfddが調子が悪くてusb diskettoから立ち上げようとする場合は 立ち上がらなくなる

startup option
startup option sequence
select boot hd enter
でハードディスクの起動順序が変えられる

2007年7月11日水曜日

液晶モニタをブラウン管に変更したとき画面意表示されない

セーフモードでVGA モードを有効にするを選んで起動

http://support.microsoft.com/kb/315222/ja
セーフ ブート オプションについて
VGA モードを有効にする : 現在のビデオ ドライバ (Vga.sys ではない) を使用して、640 X 480 モードで Windows を起動します。このモードは、モニタで表示できない設定値に画面が設定されている場合に便利です。

2007年6月29日金曜日

norton がアンインストールできない

(以下の操作は自己責任で行ってください)
windows2000 navをsymantec antivirusにしようと上書きインストールしたところ 
navが残ってしまい起動できなくなった。起動後すぐブルースクリーン
大変危険です

safe modeでnavのサービス停止
safe modeではアンイントール、インストールできないため通常モードで立ち上げる

Norton製品をアンインストールする方法

NORTONアンチウイルスのアンインストール

SymUninst.exe実行
norton removetool実行

↓結構これが味噌っぽい
>4) ルートディレクトリ(WINNT・windows)にあるinstaller の中のシマンテック製品の*.msiを全て削除
シマンテックのアイコンの入っているイントールフォルダの削除

でうまくnorton-->symantec antiviursのインストールができました


navce7.0 earler?を先にアンインストールしてからremoveせよとでてremove toolが走らない


ほかインストールクリーナなるものを使用した
Windows Installer でインストール中にトラブルが起きた場合の対処方法

インストールの失敗またはエラーメッセージが表示された後にシマンテック製品を再インストールする方法

でWindows 一時ファイルを削除する
最新版のライブアップデートをダウンロードしてインストールする
参考
Norton AntiVirus 2005がインストール出来ない。

SQL DTSでエラー 

エラーメッセージ
データ変換サービスフラットファイル行セットプロバイダ
区切られたデータが無効です
最後の列以外ではテキスト修飾子は列区切り記号の後になければなりません

原因
CSVのフィールドのないように"がある場合区切り文字と同じなのでこける

他の形式 XLSか固定長で転送

2007年6月22日金曜日

ドメインに接続できません。ドメインコントローラがダウンしているか、利用できない状態になっている、またはコンピュータアカウントが見つからなかったことが原因として考えられます。後からもう一度やり直してください。

サーバのコンピュータ名の誤消去により発生
ワークグループ-ドメイン参加により復帰


信頼関係がない~
HDDリカバーして同じコンピュータ名でドメイン参加しようとして参加できなくなった
名前01つけたが参加できない
サーバー側でコンピュータ名削除
ワークグループ-ドメイン参加により復帰

2007年6月19日火曜日

savce10 親子通信が出来ない問題


現象
ネットワーク端末の一切の設定、ログが見れない
見れる端末と見れない端末がある

ネットワーク側(エンドユーザー側)のポートを開放する

tcp2967を開放したら設定できるようになった
udp2967を開放して設定できるようになった端末もある

「Norton AntiVirus は選択されたコンピュータからすべてのログデータを収集できませんでした。・・・」
savceが使うポートについて↑

ファイアウォールのかかってないserver2003サーバでも通信が出来なくなっていたが
なんかごちゃごちゃやってるうちに見れるようになった
ファイアウォールの設定と例外ポートの設定
sqlserverが使えなくなったのでファイアウォール無効化
サーバー側ログ一部消去

サーバー側のログが重過ぎる?
C:\Documents and Settings\All Users\Application Data\Symantec\Symantec AntiVirus Corporate Edition\7.5\Logsの一部削除するとログが表示できるようになるかも?
ログの一部を移動するとSCCが無効になる('A`)
コンピュータの発見サービスのキャッシュを全て削除
サーバーグループのロック、と解除をするとすぐ復活する
(がサーバーが無効になる時点でいい方法じゃないと思われる)
SSC で SAVCE サーバーが「無効」と表示される

Windows ファイアウォールの例外設定に NAVCE、SAVCE や
SCS のプログラムを追加する方法
port開放よりrtvscanを例外に登録したほうがいい

2007年6月14日木曜日

dtsで権限がないといわれる

dtsでローカルユーザを指定して走られているにもかかわらず
走る端末と 権限がないといわれる端末がある、delete操作が出来ない

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=26749&forum=26&1
Windows 認証で作成した」パッケージを「SQL Server 認証でキック」すると,
権限が足りないといわれる場合があります。
この場合は実際に実行するユーザーをパッケージの所有者に設定しなおしてあげてください。

2007年6月7日木曜日

sqlserver 823 i/oエラーの処置

sqlserver2000
症状
更新処理時にエラー、ピボットのサーバーの参照がエラーできない

修復方法
修復コマンド サーバーが動いているPCで
osql -S サーバー名 -U username
Use master
go
sp_dboption dbname, single, true
Use dbname
go
DBCC CHECKDB(DBname,REPAIR_ALLOW_DATA_LOSS )
go
sp_dboption dbname, single, false
go

ロックがかかっていたらエンタープライズマネージャーで調べ片っぱしから強制終了

他の修復方法  -シングルモードにせずに修復するには
*エラーテーブルを他のテーブルに件数を限定してコピー
1.エラーテーブルを damyテーブルにコピー
2.ダミーテーブルをクリア、テーブル構成だけが残る
3.ダミーテーブルに、エラーテーブルを年月を指定してコピー(データ件数を絞る、サイズが大きすぎてエラーになっていると推測、テーブルをクリアした意味がある?)
4.エラーテーブルをリネイム
5.ダミーテーブルをエラーのあったテーブルに名前変更

第3の方法
データベースの復元
dbcc checkdbや checktableが失敗するとデータベースが消失するので仕方なく、エラー前のデータから復元するわけですが。とりあえずそれでうまく更新できるようになったりします。。
今回の場合14/10/8、chkdskでもブルースクリーンが出たので、hddレベルのエラーかもしれないというか、イベントログにftdiskとかntfsのエラーが出まくってたのでhdd要因。
---イベントログ----------------
chkdisk時に出ました。


イベントの種類:    警告
イベント ソース:    Ftdisk
イベント カテゴリ:    ディスク
イベント ID:    57
日付:        2014/10/07
時刻:        18:42:42
説明:
データをトランザクション ログにフラッシュできませんでした。障害が発生する可能性があります。
イベントの種類:    警告
イベント ソース:    Ntfs
イベント カテゴリ:    なし
イベント ID:    50
日付:        2014/10/07
時刻:        18:42:37
説明:
{遅延書き込みデータの紛失} ファイル  のためのデータを一部保存できませんでした。データを損失しました。 このエラーは、コンピュータのハードウェアまたはネットワーク接続の障害によって発生した可能性があります。このファイルをどこか別の所に保存してください。
--------------------------------------

処置
ユーザーデータベースをデタッチして別のドライブにコピーしてアタッチ
*デタッチしないとコピー不可だった。
システムデータベースはどうしたものか
どうしたものかじゃなくて、移さないとやばいのだが。。休みにでも移すか

参考)SQL Server のデタッチとアタッチ機能を使用して SQL Server データベースを新しい場所に移動する方法 
------------------------------------
原因不明
原因の推測
システムがおかしい
再起動後823エラーがよく出る
HDD LIFEを常駐させたらエラー頻発
特定のDBでエラーが出る
勘定奉行の翌月更新がかからなかった マウスはきく、NUM LOCKは反応するが他のメニューが固まる。他のサーバーに移行したらすんなり更新できた
テーブルがでかすぎるのか? 46万件
月で一括DELETE 一括追加しているがたまに数字フィールドに文字が入ることがありそのせいでインデックスが壊れるのか?
普通は文字型が違うエラーで止まるはずだが。。。

2007年6月5日火曜日

dtsでグローバル変数を 変数に入れるには

データ変換タスク
activexscriptで
Function Main()
DTSDestination("ymm") = DTSGlobalVariables("年月")
Main = DTSTransformStat_OK
End Function

2007年5月23日水曜日

sqlserverが崩壊しかけてる?

SQL Server has encountered 2 occurrence(s) of IO requests taking longer than 15 seconds to complete on file [d:\Program Files\Microsoft SQL Server\MSSQL\data\templog.ldf] in database [tempdb] (2). The OS file handle is 0x00000380. The offset of the latest long IO is: 0x00000000061400

サーバのraid1のdisk1が不正ブロックがあります。

The description for Event ID ( 17055 ) in Source ( MSSQLSERVER ) could not be found. It contains the following insertion string(s): .
18052
エラー : 823、レベル : 24、状態 : 2。

INSERT ...... SELECT文 型の不一致

excel→sqlserverで
excelの数字をスペースで消した場合後の式が#valueでエラーになる
そのまま転送しようとすると 型が一致しませんというエラーになる

サンプルコード

 With cnxls
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=" & xlsdatapath &amp;amp; ";Extended Properties=Excel 8.0"
.CursorLocation = adUseClient
.Open
End With
'xlsの範囲からsqlのテーブルにデータを追加する

strsql = "INSERT INTO [odbc;Driver={SQL Server};" & _
"Server=サーバー名;Database=db名;Trusted_Connection=yes;connect timeout=180].テーブル名" & _
" select * FROM excel範囲名" &amp; _
" where 年月 = '" & ymm & "'"

2007年5月21日月曜日

access runtimeでツールバーを表示するには


一覧画面でソートしたいというニーズがあります
マクロで ツールバー表示-テーブル:データシート
とするとソートボタンが使えるようになります

2007年5月14日月曜日

勘定奉行 汎用データ 適用は全角20文字まで

転送時、文字数を制限しないとこけます カンマ、。。。が正しくない

2007年5月10日木曜日

勘定奉行 伝発行からA4で印刷できないA4で印刷するには?

伝発行からの印刷は、伝票形式で印刷するため、
応用用紙の選択ができません。

応用用紙で印刷する場合は、
「F7:伝検索」 から印刷できます。

svchost.exeによってCPU使用率が100%となる不具合を解消する修正プログラムの提供開始


 




2007年3月のセキュリティ、修正プログラム関連情報


2007/03/19



svchost.exeによってCPU使用率が100%となる不具合を解消する修正プログラムの提供開始


http://www.atmarkit.co.jp/fwin2k/hotfix/hfb20070319/hfb20070319_01.html#01

修正プログラム パッケージ 916089 の適用後、Windows Update から更新プログラムをインストールすると、アクセス違反が発生する

http://support.microsoft.com/default.aspx?scid=kb;ja;927891

2007年5月9日水曜日

Windows 2003 ServerでのRAID-1の修復方法

Windows 2003 ServerでのRAID-1の修復方法
http://itpro.nikkeibp.co.jp/article/COLUMN/20051202/225630/?SS=imgview&FD=-546503498&ST=itpro_print

おすすめvbaの本

2007年5月8日火曜日

sqlsrver シングルユーザーモードを閉じるには

コマンドプロンプト画面を閉じる

前期繰越 補助科目を変更するとその他で差額がでる

総勘定科目と補助科目の合計がちがっているとそのたで差額が表示される
総勘定科目の合計もなおす
当然相手科目もなおす必要がある

2007年5月7日月曜日

pcom os対応表

http://www-06.ibm.com/jp/domino01/mkt/cnpages1.nsf/page/default-000AFD88

OS / プラットフォーム
V5.7
サポート
V5.8
サポート
V5.9
サポート
備考
Windows 95
×
×
延長サポートは2001年12月31日をもって終了しています
Windows 98
×
延長サポートは2006年6月30日をもって終了しています
Windows 98 Second Edition
×
延長サポートは2006年6月30日をもって終了しています
Windows Me
×
延長サポートは2006年6月30日をもって終了しています
Windows NT Workstation 4.0
×
延長サポートは2002年6月30日をもって終了しています
Windows NT Server 4.0
Standard Edition
×
延長サポートは2004年12月31日をもって終了しています
Windows NT Server 4.0
Enterprise Edition
×
延長サポートは2004年12月31日をもって終了しています
Windows NT Server 4.0
Terminal Server Edition
×
延長サポートは2004年12月31日をもって終了しています
Windows 2000 Professional
Windows 2000 Server
Windows Terminal Server サポートを含みます
Windows 2000 Advanced Server
Windows Terminal Server サポートを含みます
Windows XP
Home Edition
Windows XP
Professional Edition
Remote Desktop サポートを含みます
Windows XP
Professional x64 Edition
×
×
非SNA環境でサポートされます
Windows XP
Tablet PC Edition
Windows Server 2003
Standard Edition
Windows Terminal Server サポートを含みます
Windows Server 2003
Enterprise Edition
Windows Terminal Server サポートを含みます
Windows Server 2003
Standard x64 Edition
×
×
・Windows Terminal Server サポートを含みます
・非SNA環境でサポートされます
Windows Server 2003
Enterprise x64 Edition
×
×
・Windows Terminal Server サポートを含みます
・非SNA環境でサポートされます

2007年5月6日日曜日

dts actveX スクリプト ファイル名の動的変更 削除リネーム

as 転送ファイルの動的変更 テキストファイル操作

転送ファイルを動的に変えたいニーズが出ることがあります
asのファイル名を xxxx0705などと年月付にしているものを定期的にsqlserverに転送蓄積する場合や
日付を指定してサイズを抑えて転送したい場合です
excel vbaのサンプルですが、dts のactiveX の記述にも function main ~ end functionの間に書けばそのまま使えます
特定の行だけ更新がかけられればいいんですが、方法が分からないので別ファイルに書き出し、リネームという方法をとっています

Sub ttochg()
Dim oFSO
Dim x
Dim strLine
Dim strFilename

'as 転送ファイル ttoの抽出部分を書き換える
'6行目と7行目をcellで指定した日付に変える
'書き出すために別ファイルを作る
' instantiate the Scripting Object
Set FSO = CreateObject("Scripting.FileSystemObject")
strfile1 = "C:\Documents and Settings\aco\デスクトップ\ruisk.TTO"
strfile2 = "C:\Documents and Settings\aco\デスクトップ\ruisk2.TTO"
start01 = Cells(2, 2)
'dts グローバル変数を使う場合
'ymm=dtsGlobalVariables("年月")
end01 = Cells(2, 3)
ymdd = start01
GoSub chgdate
ymdm1 = ymdm
ymdd = end01
GoSub chgdate
ymdm2 = ymdm

'openスイッチ 1 input ,2 output ,3 append
' true/false 存在しない場合作成
Set f1 = FSO.OpenTextFile(strfile1, 1, False)
Set f2 = FSO.OpenTextFile(strfile2, 2, True)

' Open the file
a = 1
Do Until f1.AtEndOfLine
buf = f1.Readline
If a = 6 Then buf = "WHERE rui13 like 'H%' and rui02>=" & ymdm1
If a = 7 Then buf = "WHERE and rui02 <=" & ymdm2
f2.writeline buf
a = a + 1
Loop
f1.Close
f2.Close

Exit Sub

chgdate:
ymdm = Mid(Format(Year(ymdd), "0000"), 3, 2) + _
Format(Month(ymdd), "00") + Format(Day(ymdd), "00")

Return
End Sub
'--------------------------------------------------------------------------------------
Sub ttodel()
Dim oFSO
Dim x
Dim strLine
Dim strFilename
'ruiskを削除してruisk2をruiskにリネームする
' instantiate the Scripting Object
Set FSO = CreateObject("Scripting.FileSystemObject")
strfile1 = "C:\Documents and Settings\aco\デスクトップ\ruisk.TTO"
strfile2 = "C:\Documents and Settings\aco\デスクトップ\ruisk2.TTO"

ingRet = FSO.deletefile(strfile1)
ingRet = FSO.movefile(strfile2, strfile1)


Set FSO = Nothing
End Sub

2007年4月27日金曜日

excel vbaでdtsを走らすと応答なしになる その2

別のexcelからvba,dtsを走らせるだけでは問題が解決しなかった











ステップを分けてdtsを走らせるようにしたら正常に走るようになった

あとtextfileを転送先destinationでなく sourceを指定すると 先にsourceステップが走りました
応答なしの原因不明、理屈分かってません、勘違いしている可能性があります

excel からdtsをキックするサンプルコード パラメータ、エラー処理付

Public Sub tracePackageError(oPackage As DTS.Package)
Dim ErrorCode As Long
Dim ErrorSource As String
Dim ErrorDescription As String
Dim ErrorHelpFile As String
Dim ErrorHelpContext As Long
Dim ErrorIDofInterfaceWithError As String
Dim I As Integer

For I = 1 To oPackage.Steps.Count
If oPackage.Steps(I).ExecutionResult = DTSStepExecResult_Failure Then
oPackage.Steps(I).GetExecutionErrorInfo ErrorCode, ErrorSource, ErrorDescription, _
ErrorHelpFile, ErrorHelpContext, ErrorIDofInterfaceWithError
MsgBox oPackage.Steps(I).Name & " failed" & vbCrLf & ErrorSource & vbCrLf & ErrorDescription
End If
Next I

End Sub
'エラー処理用
Public Function sAccumStepErrors( _
ByVal objPackage As DTS.Package) As String
'Accumulate the step error info into the error message.
Dim oStep As DTS.Step
Dim sMessage As String
Dim lErrNum As Long
Dim sDescr As String
Dim sSource As String

'Look for steps that completed and failed.
For Each oStep In objPackage.Steps
If oStep.ExecutionStatus = DTSStepExecStat_Completed Then
If oStep.ExecutionResult = DTSStepExecResult_Failure Then

'Get the step error information and append it to the message.
oStep.GetExecutionErrorInfo lErrNum, sSource, sDescr
sMessage = sMessage & vbCrLf & _
"Step " & oStep.Name & " failed, error: " & _
sErrorNumConv(lErrNum) & vbCrLf & sDescr & vbCrLf
End If
End If
Next
sAccumStepErrors = sMessage
End Function

Public Function sErrorNumConv(ByVal lErrNum As Long) As String
'Convert the error number into readable forms, both hexadecimal and decimal for the low-order word.

If lErrNum <> -65536 Then
sErrorNumConv = "x" &amp;amp;amp;amp; Hex(lErrNum) & ", " & CStr(lErrNum)
Else
sErrorNumConv = "x" & Hex(lErrNum) &amp;amp;amp;amp;amp; ", x" & _
Hex(lErrNum And -65536) & " + " & CStr(lErrNum And 65535)
End If
End Function
---------------------------------------------------
'本体
Sub dtsrun伝票()
Dim dtsp As New DTS.Package

Set dtsp = New DTS.Package
dtsp.LoadFromSQLServer ServerName:="xxxxxx", _
ServerUserName:="xxxxx", _
ServerPassword:="xxxxx", _
PackageName:="dts名"
dtsp.GlobalVariables("年月").Value = Worksheets("menu").Cells(3, 2).Value
dtsp.Execute

tracePackageError dtsp

Set dtsp = Nothing
End Sub


sqlserve enterprise managerのデータ変換サービス、dtsのデザイナで
パッケージのプロパティ グローバル変数で変数名を設定
vbaのグローバル変数と dtsデザイナのパラメータが等しくありませんが サンプルで別のdtsの
パラメータを貼り付けたので本来は一致するはずのものです

お勧めの会計ソフトは勘定奉行 勘定奉行仕様


lanパック 2ライセンスを買って正解だった
sqlでデータ操作ができ excelでピボットに勘定奉行のデータを呼び出して
04~03までの表を作成できます

適用の文字数に制限がありますが次の行に文字をいれれるので回避可能
一伝票250行まで汎用データを作るとき2伝票に分割して転送

保守は会計基準変更でソフトの更新が必要なのでobcの保守に入るのが正解と思う

勘定奉行仕様 


いろんな提案をしてくるぼった栗ソフトウエアベンダーに注意(笑)


2端末以上で同時に使おうとすると 同時接続は2台までとかメッセージが出て開きませんw
2端末以上同時に使わなきゃいけないことはまったくありませんでした
声を掛け合って閉じてもらうとかすれば問題ありませんでした
なぜか使ってないないのにロックが残っていることがあるが 勘定奉行からまたは ロック解除のexeがあるのでそこから解除可能

バックアップはsqlserverの自動バックアップと 手動で毎日メニューからしている

手書きの台帳から勘定奉行に移行する際は会社が委託?している会計士の先生と連携しながら
だとうまく手書きの台帳を廃止していけると思います

excel vbaでdtsを走らすと応答なしになる


excel2003 (11.8120.8122) sp2
widowsxp pro 5.1.2600
Microsoft SQL Server 2000 - 8.00.2039 (Intel X86) May 3 2005 23:18:38 Copyright (c) 1988-2003 Microsoft Corporation Standard Edition on Windows NT 5.2 (Build 3790: Service Pack 1)
firewall offにしても応答なし
norton antivirus corporate edition
入っていても動く端末と応答なしの端末あり


sqlserver dtsをexcel vbaで走らすと 正常に走る端末と
応答なしになる端末がでた
windows,excelのバージョン microsoft updateで最新のupdateをかけているのに
原因は不明

aというexcelシートからdtsを呼び出して excel a→sqlserverにデータ転送する処理
同じブックを開く処理がいけないのも知れない

asのデータをexcelに書き出してsqlserverに入れてクエリで加工して勘定奉行に送る前の
汎用受入データを作成する処理

2007年4月26日木曜日

sqlseverでtrim

rtrim,ltrim
trimは無いようです

勘定奉行 翌年処理 残高調整ができない 手入力

原因 新年度の翌月繰越処理後に旧年度で科目を新設した場合残高調整が手入力になる

繰越残高調整処理を実行することができない。
http://www.obc.co.jp/support/faq/FAQ_detail.asp?FAQID=299

当たり前のことですがエラーが出ると焦ります

2007年4月23日月曜日

vba 前の実行を待って次を実行するには

Option Explicit 'SampleNo=074 WindowsXP VB6.0(SP5) 2002.05.16
'既存のプロセスオブジェクトのハンドルを取得(P665)
Private Declare Function OpenProcess Lib "kernel32" _
(ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, _
ByVal dwProcessId As Long) As Long
'指定のプロセスの終了コードを取得(P660)
Private Declare Function GetExitCodeProcess Lib "kernel32" _
(ByVal hProcess As Long, lpExitCode As Long) As Long
'開かれているオブジェクトのハンドルを開放する(P1252)
Private Declare Function CloseHandle Lib "kernel32" _
(ByVal hObject As Long) As Long
Private Const PROCESS_QUERY_INFORMATION = &H400&
Private Const STILL_ACTIVE = &H103&

Sub pcom()

Dim IDProcess As Long
Dim hProcess As Long
Dim ExitCode As Long
Dim ret As Long
' プロセスを入れる↓
IDProcess = Shell("notepad.exe")
hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, 1, IDProcess)
Do
ret = GetExitCodeProcess(hProcess, ExitCode)
DoEvents
Loop While (ExitCode = STILL_ACTIVE)
ret = CloseHandle(hProcess)

End Sub


'上記を貼り付けるだけ
'動作不具合による責任は負いません

jbcc new workfriend ニューワークフレンド

結論 使いにくい 単発のデータ検索依頼くらいにしか使えない

asまたはsqlserverのデータをexcelで参照できるようにするアプリ
asからプログラムなしで品番に対して注文数などを呼び出せ便利なようだが
レコードで自動化してもファイル名パス名が固定で
月ごとにファイルを作っていく場合にはレコードを作りなおさないといけない
検索も検索の先頭にカーソルを入れないと検索結果が得られない
定義の保存もローカルにしかできない ネットワークドライブをzなどに設定すれば
サーバーに定義を保存できるが、ほかのpcでも同様のネットワークドライブの設定をしていないと定義が呼び出せない

excel2000が立ち上がらない

エラー報告でcwbtfxla.xllが邪魔しているみたいな報告が出ていた
C:\Program Files\IBM\Client Access\Sharedのcwbtfxla.xllをリネームして
立ち上げたら立ち上がった cwbtfxla.xllが見つからないとのエラーメッセージは出た
とりあえずアドインからcwbtfxla.xllをはずした

cwbtfxla.xllはas400のclientaccessのexcelアドインのようです

ためしに立ち上がった後cwbtfxla.xllをアドインに加えてOKを押したらコケタ

アプリケーション定義またはオブジェクト定義のエラーです

worksheetにvba cells(1,1)などと記述すると出るようです

標準モジュール内で記述するとエラーは起こりません


*多分不正確な記述とは思いますが
上記でエラー回避できます

2007年4月21日土曜日

willリモコンが点灯しない

電池が消耗している可能性があります

1p、2pを認識しないとき
本体の赤いシンクロボタンを押す

2007年4月20日金曜日

勘定奉行 翌年処理後に自動仕分けを移すには

翌年処理後は残高調整のみ可能で 旧年に入れた自動仕分けは引き継げない

しかしテーブルwkjsf01 に入っておりデータの手動での移行は可能である

旧年度をadpなどで開き
新規入力分を選択後ofice linkでexcel出力後 新年度の
wkjsf01にインサートすると
新規分レコードが追加される


*バックアップ、ファイル名、中身を確認の上自己責任で行ってください
*操作ミス、誤記による損害の責任は負えません

FMT9001 異常終了

FMTSRCは異常終了としかでずエラーの内容を確認しにくい
前のログで警告 キー重複がエラー原因

メンバー D26TCP1 のレコード・キーが重複している。
メンバー D26TCP1 に重複キーを使用することはできない。
? C
ライブラリー CLIB メンバー PAC01L4 の PAC01L4 から 850 レコードを読み取
り, 850 レコードを選択した。
850 の合計レコードが読み取られて, 850 の合計レコードが選択された。
22 レコードが,ライブラリー CLIB メンバー D26TCP1 の出力ファイル JCMST02
に入れられた。
*** 異常終了 *** 07/04/20 11:36:56
(C D I R) CTS56# が 16100 で FMT9001 を受け取った。