Autor Thema: Array leer -> Exit Sub  (Gelesen 2470 mal)

Offline robertpp

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 940
  • Geschlecht: Männlich
Array leer -> Exit Sub
« am: 02.10.03 - 12:14:31 »
Ich bekomme das leider nicht hin:
Ich mach das so:
Dim arrayAccess() As String
   If iz =0 Then
      Redim arrayZugriff( iz )
      arrayZugriff( iz ) = zentry.ColumnValues(1)
      iz = iz + 1
   Else
      Redim Preserve arrayZugriff( iz )
      arrayZugriff( iz ) = zentry.ColumnValues(1)
      iz = iz + 1
   End If
das passt auch alles nur es besteht der Fall das das array garnicht gefüllt wir!
Wie kann ich nachher realisieren das er Exit Sub macht:
Ich habe es so schon versucht:

   doc.arrayja = arrayZugriff
   If Isempty(doc.arrayja(0)) Then Exit Sub
das geht nicht:
   If Isempty(arrayZugriff) Then Exit Sub
das auch nicht

kannn mir jemand helfen!
------------------------------------------------------------
1250 Notes User Client von 5.0.5 bis 6.5.4     WIN2000, XP
14 Notes Server von 6.5 bis 6.5.4 WIN2000, XP

32   Notes Server von 5.0.1 bis 6.5.4 in unserer Domain
323 Notes Server weltweit mit 38000 User in einem Adressbuch

klaussal

  • Gast
Re:Array leer -> Exit Sub
« Antwort #1 am: 02.10.03 - 12:34:32 »
... auf die schnelle (aus der klamottenkiste):

setzt dir einen schalter, wenn der array gefüllt wird.

Driri

  • Gast
Re:Array leer -> Exit Sub
« Antwort #2 am: 02.10.03 - 12:37:09 »
Hi,

hast Du das schon mal mit IsNull probiert ?

If IsNull(arrayZugriff(0)) Then Exit Sub

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Array leer -> Exit Sub
« Antwort #3 am: 02.10.03 - 12:45:59 »
Soweit ich das sehe, wird ja immer ein Array erzeugt, so daß also array (0) immer existiert (also nie "empty" ist). NULL wird auch nicht zugewiesen, hilft also auch nicht weiter.
So sollte eine Abfrage auf array (0) = "" möglich sein.

HTH,
Bernhard

Offline robertpp

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 940
  • Geschlecht: Männlich
Re:Array leer -> Exit Sub
« Antwort #4 am: 02.10.03 - 12:54:31 »
@koehlerbv

das array wird erst dann erzeigt wenn ein eintrag vorhanden ist vorher existiert es nicht!!

@driri

das geht auch nicht mit If IsNull(arrayZugriff(0)) Then Exit Sub

Ich sehe schon mir wird nicht erspart bleiben es über einen zweite variable zu machen!!
Na vielleicht fällt sonst noch jemand etwas ein!!!
------------------------------------------------------------
1250 Notes User Client von 5.0.5 bis 6.5.4     WIN2000, XP
14 Notes Server von 6.5 bis 6.5.4 WIN2000, XP

32   Notes Server von 5.0.1 bis 6.5.4 in unserer Domain
323 Notes Server weltweit mit 38000 User in einem Adressbuch

Offline robertpp

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 940
  • Geschlecht: Männlich
Re:Array leer -> Exit Sub
« Antwort #5 am: 02.10.03 - 12:58:45 »
Ich hab die Lösung ;D ;D

   If Isempty(iz) Then
      Exit Sub
   End If

so geht es!!!!
------------------------------------------------------------
1250 Notes User Client von 5.0.5 bis 6.5.4     WIN2000, XP
14 Notes Server von 6.5 bis 6.5.4 WIN2000, XP

32   Notes Server von 5.0.1 bis 6.5.4 in unserer Domain
323 Notes Server weltweit mit 38000 User in einem Adressbuch

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Array leer -> Exit Sub
« Antwort #6 am: 02.10.03 - 16:55:54 »
Trotz der vielen, vielen Ausrufezeichen: Die Sache war aber jetzt etwas wirr.
Kannst Du uns (klaussal, Driri und mir sowie der anderen atnotes-Gemeinde, die den Thread ja ggf. mit gelesen hat) ein paar nähere Infos geben ?

Bernhard

Offline robertpp

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 940
  • Geschlecht: Männlich
Re:Array leer -> Exit Sub
« Antwort #7 am: 02.10.03 - 17:13:46 »
Die Lösung:
Dim arrayAccess() As String
Dim iz as Integer
Jetzt ist das array leer und iz ist auch leer:
Wenn jetzt die erste if Formel eintritt und iz gleich leer ist dann macht er das rotgeschriebenen das ist eh einleuchtend.

If zentry.ColumnValues(2) = "115" Then
   If iz =0 Then
      Redim arrayZugriff( iz )
      arrayZugriff( iz ) = zentry.ColumnValues(1)
      iz = iz + 1
 
   Else
      Redim Preserve arrayZugriff( iz )
      arrayZugriff( iz ) = zentry.ColumnValues(1)
      iz = iz + 1
   End If
End If
Sollte jetzt aber nie zentry.ColumnValues(2) = "115" sein dann hat das array auch keine werte und iz ist immer noch empty und genau das hab ich gebraucht!!

If Isempty(iz) Then
      Exit Sub
   End If
------------------------------------------------------------
1250 Notes User Client von 5.0.5 bis 6.5.4     WIN2000, XP
14 Notes Server von 6.5 bis 6.5.4 WIN2000, XP

32   Notes Server von 5.0.1 bis 6.5.4 in unserer Domain
323 Notes Server weltweit mit 38000 User in einem Adressbuch

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Array leer -> Exit Sub
« Antwort #8 am: 02.10.03 - 17:51:19 »
Mit dem "Code drumherum" wird es etwas klarer. Aber Du hast nicht recht:

Zitat
Dim arrayAccess() As String
Dim iz as Integer

Nach der Definition von iz hat diese Variable den Wert 0, ist also keinesfalls "IsEmpty".
Der Sinn der Definition von arrayAccess erschliesst sich mir nicht ganz.

An Hand folgenden Beispielcodes kannst Du das Ganze ja mal nachvollziehen:

Sub Click(Source As Button)
   
   Dim arrayAccess () As String
   Dim iz As Integer
   
   If Isempty (arrayAccess) Then
      Msgbox "ArrayAccess ist Empty"
   End If
   
   If Isnull (arrayAccess) Then
      Msgbox "ArrayAccess ist NULL"
   End If
   
   If Isscalar (arrayAccess) Then
      Msgbox "ArrayAccess ist skalar"
   End If
   
   If iz = 0 Then
      Msgbox "iz = 0"
   Else
      Msgbox "iz <> 0"
   End If
   
   If Isempty (iz) Then
      Msgbox "iz is empty "
   Else
      Msgbox "iz is NOT empty "
   End If
   
End Sub

Vulgo:
- iz ist nicht leer, sondern hat den Integerwert 0.
- was Du mit "array" meinst, weiss ich nicht, da Du mit arrayAccess und arrayZugriff dealst. Hast Du Option Declare verwendet ?

Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz