2016-12-06 10 views
0

以下のコードは、クライアントレコードがファイルに追加されたときにID番号を生成するためのコードです。しかし、それが生成するID番号は常に0として出てきます。これはなぜですか?VB.NETコードでは値0が生成されていますが、その可能性はわかりません

For index = 1 To LOF(1)/Len(ClientRecord) 
      FileGet(1, ClientRecord, index) 
      If ClientRecord.ClientID > IDofClientRecord Then 
       IDofClientRecord = ClientRecord.ClientID 
      End If 
      IDofClientRecord = IDofClientRecord + 1 
      IDofClientRecord = ClientRecord.ClientID 
     Next 
+0

レコードを格納するすっごくはるかに簡単であるに情報を前提としていそれらのレガシーVB関数を使用するよりも、データベース内にあるか、それらのコレクションをシリアライズしてください。 – Plutonix

+0

悲しいことに、私は自分のコースでこのようにしなければなりません。 –

答えて

0

ここではあまり指定していませんが、それを刺すことができます。 あなたが生成しようとしているIDがClientRecord.ClientIDであれば、私はこれがあなたの問題だと思う:

IDofClientRecord = IDofClientRecord + 1

IDofClientRecord = ClientRecord.ClientID

二行目は、最初のを上書きしますあなたは決して進歩しません。 あなたはに最後の行に2番目を逆にした場合:

ClientRecord.ClientID = IDofClientRecord

それが仕事かもしれないが、それはない、レコード;-)

+0

これは確実に 'ClientRecord.ClientID'を確実に増加させなければなりませんが、' ClientRecord.ClientID'は 'IDofClientRecord'よりも大きかった(ファイルから取得されていても)。 – greybeard

+0

私はこれを試しましたが、何か非常に奇妙なことをしました。毎回クライアントIDを増やしました。それは1から2へ、4から7へ、11から16へと続きました。私はそれを把握することができません –

+0

ええ、ロジックに何か問題がありますが、私はあなたが何をしようとしているかは分かりません。あなたはそのコードが何をしようとしているのかをよく説明できますか? – Chestdawg

関連する問題