Zum Inhalt springen

VBS: Suche in Array - Probleme!


Empfohlene Beiträge

Geschrieben

Also in meinem Array soll man suchen... ;)

1. Man kann den letzten Eintrag nicht finden bzw. nicht danach suchen :(

2. Wenn man nach was anderem als Vorname sucht wird die eingabe verschoben! :(

Also das ist das Suchprogramm:

Option Explicit 


'Globale Variablen

Dim strSuche 'Suchbegriff

Dim sAdressFilePath 

Dim arrAdresse()'Array

Dim arrErgebnis 'Array

Dim iArrayElements

iArrayElements = 1

ReDim Preserve arrAdresse(6,1)

Dim CountLines

Dim SucheNochmal


sAdressFilePath = "U:\VBScript\adressverwaltung\adressen.txt"

'=================================================================

' Main

'=================================================================

'InputBox mit Frage nach Suchwort

Suchfunktion


'Datei einlesen

ReadEntireFile(sAdressFilePath)


'Durch Array arrAdresse loopen und suchen

arrErgebnis = SucheInArray()


'Suchergebnis ausgeben


'Neue Suche starten?

NochmalSuchen


'FERTIG!


'=================================================================

' Functions und subs

'=================================================================

'Inputbox mit Frage nach Suchwort

Sub Suchfunktion

strSuche = InputBox ("Geben Sie bitte Ihren Suchbegriff ein!" , "Suchfunktion")

End Sub 



'Erzeugt aus dem Inhalt der Datei ein Array

Sub AddToArray(sLine)

	Dim arTemp 'Variable für Temporäres Array

	iArrayElements = iArrayElements + 1 'hochzählen um 1

	'WScript.Echo "iArrayElements:" & iArrayElements & vbNewLine

	ReDim Preserve arrAdresse(6, iArrayElements)


	arTemp = Split(sLine, ";") 

	'WScript.Echo UBound(arTemp)

	arrAdresse(0,iArrayElements) = arTemp(0)

	arrAdresse(1,iArrayElements) = arTemp(1)

	arrAdresse(2,iArrayElements) = arTemp(2)

	arrAdresse(3,iArrayElements) = arTemp(3)

	arrAdresse(4,iArrayElements) = arTemp(4)

	arrAdresse(5,iArrayElements) = arTemp(5)


	'WScript.Echo arTemp(3)


	' Dim i

' 	For i = 1 To UBound(arrAdresse,2)

' 		WScript.Echo arrAdresse(0,i)

' 		WScript.Echo arrAdresse(1,i)

' 		WScript.Echo arrAdresse(2,i)

' 		WScript.Echo arrAdresse(3,i)

' 		WScript.Echo arrAdresse(4,i)

' 	    WScript.Echo arrAdresse(5,i)

' 	Next


End Sub



'Laden der Daten

Function ReadEntireFile(strAdressFilePath)

   Const ForReading = 1

   Dim fso, theFile, retstring, i

   i = 0

   Set fso = CreateObject("Scripting.FileSystemObject")

   Set theFile = fso.OpenTextFile(strAdressFilePath, ForReading, False)

   Do While theFile.AtEndOfStream <> True


      	AddToArray(theFile.ReadLine)


      	i = i + 1


     	CountLines = CountLines + 1

   Loop

   theFile.Close

   'ReadEntireFile = retstring '<-- Was bedeutet das??

End Function


' Function AddToArray(TempFile)

' MsgBox TempFile

' End Function



'Suche in Array

Function SucheInArray()

Dim ix, iy


For ix = 0 To 6	

	For iy = 0 To CountLines


		'Bei Suche nach Vornamen:

		If strSuche = arrAdresse(ix, iy) Then

			MsgBox "Vorname:" & arrAdresse(ix,iy) & vbCr & "Nachname:" & arrAdresse(ix+1,iy) & vbCr & "Strasse:" & arrAdresse(ix+2,iy) & vbCr & "PLZ:" & arrAdresse(ix+3,iy) & vbCr & "Ort:" & arrAdresse(ix+4,iy) & vbCr & "Telefonnummer:" & arrAdresse(ix+5,iy)		


		' 'Suche nach Nachnamen

' 		Elseif strSuche = arrAdresse(ix+1, iy) Then

' 			MsgBox "Vorname:" & arrAdresse(ix,iy) & vbCr & "Nachname:" & arrAdresse(ix+1,iy) & vbCr & "Strasse:" & arrAdresse(ix+2,iy) & vbCr & "PLZ:" & arrAdresse(ix+3,iy) & vbCr & "Ort:" & arrAdresse(ix+4,iy) & vbCr & "Telefonnummer:" & arrAdresse(ix+5,iy)		

' 						

' 		'Suche nach Strasse

' 		ElseIf strSuche = arrAdresse(ix+2, iy) Then

' 			MsgBox "Vorname:" & arrAdresse(ix,iy) & vbCr & "Nachname:" & arrAdresse(ix+1,iy) & vbCr & "Strasse:" & arrAdresse(ix+2,iy) & vbCr & "PLZ:" & arrAdresse(ix+3,iy) & vbCr & "Ort:" & arrAdresse(ix+4,iy) & vbCr & "Telefonnummer:" & arrAdresse(ix+5,iy)		

' 						

' 		'Suche nach PLZ

' 		ElseIf strSuche = arrAdresse(ix+3, iy) Then

' 			MsgBox "Vorname:" & arrAdresse(ix,iy) & vbCr & "Nachname:" & arrAdresse(ix+1,iy) & vbCr & "Strasse:" & arrAdresse(ix+2,iy) & vbCr & "PLZ:" & arrAdresse(ix+3,iy) & vbCr & "Ort:" & arrAdresse(ix+4,iy) & vbCr & "Telefonnummer:" & arrAdresse(ix+5,iy)		

' 						

' 		'Suche nach Ort

' 		ElseIf strSuche = arrAdresse(ix+4, iy) Then

' 			MsgBox "Vorname:" & arrAdresse(ix,iy) & vbCr & "Nachname:" & arrAdresse(ix+1,iy) & vbCr & "Strasse:" & arrAdresse(ix+2,iy) & vbCr & "PLZ:" & arrAdresse(ix+3,iy) & vbCr & "Ort:" & arrAdresse(ix+4,iy) & vbCr & "Telefonnummer:" & arrAdresse(ix+5,iy)		

' 						

'  		'Suche nach Telefonnummer

' 		Elseif strSuche = arrAdresse(ix+5, iy) Then

' 			MsgBox "Vorname:" & arrAdresse(ix,iy) & vbCr & "Nachname:" & arrAdresse(ix+1,iy) & vbCr & "Strasse:" & arrAdresse(ix+2,iy) & vbCr & "PLZ:" & arrAdresse(ix+3,iy) & vbCr & "Ort:" & arrAdresse(ix+4,iy) & vbCr & "Telefonnummer:" & arrAdresse(ix+5,iy)		


		Else	


		End If

	Next 

Next


' 	Dim i

' 	Dim arrTempAdresse() 'Temporäres Array um die Ergebnisse der Suche zu speichern

' 	Dim iArrayElem2

' 	iArrayElem2 = 0

' 	

' 	For i = 1 To UBound(arrAdresse, 2)						'von 1 bis zum höchsten Index-Wert

' 		If strSuche = arrAdresse(1,i) Then					'Wenn der Suchbegriff = dem Feld (1,i) im Datenarray ist,dann...

' 			iArrayElem2 = iArrayElem2 + 1					'iArrayElem2 um 1 erhöhen

' 			WScript.Echo "iArrayElements:" & iArrayElem2 & vbNewLine	

' 			ReDim Preserve arrTempAdresse(6, iArrayElem2)	'Deklaration eines dynamischen Array

' 			arrTempAdresse(0, iArrayElem2) = arrAdresse(0,i) 

' 			arrTempAdresse(1, iArrayElem2) = arrAdresse(1,i)

' 			arrTempAdresse(2, iArrayElem2) = arrAdresse(2,i)

' 			arrTempAdresse(3, iArrayElem2) = arrAdresse(3,i)

' 			arrTempAdresse(4, iArrayElem2) = arrAdresse(4,i)

' 			arrTempAdresse(5, iArrayElem2) = arrAdresse(5,i)

' 			arrTempAdresse(6, iArrayElem2) = arrAdresse(6,i)

' 			

' 			 

' 			' arrAdresse(1,iArrayElements) = arTemp(1)

' 			' arrAdresse(2,iArrayElements) = arTemp(2)

' 			' arrAdresse(3,iArrayElements) = arTemp(3)

' 			' arrAdresse(4,iArrayElements) = arTemp(4)

' 			' arrAdresse(5,iArrayElements) = arTemp(5)

' 

' 		End If 

' 	Next

End Function



'Möchten Sie nochmal suchen??


Function NochmalSuchen ()

	Do While SucheNochmal <> vbNo 

	SucheNochmal = MsgBox ("Möchten Sie nochmal suchen?", vbYesNo, "Suchfunktion")	

		If SucheNochmal = vbYes Then

			Suchfunktion

			SucheInArray()

		Else

		End If


	Loop

End Function

Braucht ihr den Code des Adressverwaltungsprogramms von mir auch? Da werden nämlich die Adresskontakte eingegeben nach denen man suchen kann.

Ich geb euch einfach auch mal den Code:

(nächster Beitrag)

Ich hoffe es kann mir jemand weiterhelfen ;)

Geschrieben
Option Explicit 


'+++++++++

'Variablen

'+++++++++


Dim Name

Dim Nachname

Dim Strasse

Dim Plz

Dim Ort

Dim Telefonnummer

Dim fso

Dim sResult

Dim strAdressFilePath

Dim iPLZLaenge

Dim NameLaenge

Dim NachnameLaenge

Dim StrasseLaenge

Dim OrtLaenge

Dim NummerLaenge

Dim read

Dim fs

Dim textstream

Dim HTMLfilename

Dim write

Dim strDatensatz

Dim cssFilename

Dim HTMLfilenameCSS

Dim HTMLanzeigen

Dim shell

Dim writeblanklines


HTMLfilename = "U:\VBScript\adressverwaltung\adressen.html"

strAdressFilePath = "U:\VBScript\adressverwaltung\adressen.txt"

HTMLfilenameCSS = "U:\VBScript\adressverwaltung\cssAdressen.html"

cssFilename = "U:\VBScript\adressverwaltung\adressen.css"


'Erstellen des FileSystemObject

Set fso = CreateObject("Scripting.FileSystemObject")


'+++++++++++++

'Eingabefelder

'+++++++++++++


'Vorname

GibName


'Nachname

GibNachname


'Straße/Nr.

GibStrasse


'Plz

GibPLZ


'Ort

GibOrt


'Telefonnummer

GibTelefonnummer



'Speichern??

sResult = MsgBox("Sollen ihre eingegebenen Daten gespeichert werden?", vbYesNo, "Frage")


If sResult = vbYes Then

	WriteInListe

	OpenAdressFile

Else

	WScript.Echo "Datensatz wurde nicht gespeichert."

End If



' Textdatei öffnen

Dim oFSO

Set oFSO = CreateObject("Scripting.FileSystemObject")

oFSO.OpenTextFile(strAdressFilePath)



'Ausgabe der Textdatei

WScript.Echo readfile(strAdressFilePath)


'Anzeigen lassen in HTML Datei?

HTMLanzeigen = MsgBox ("Möchten Sie den aktuellen Stand der Adresskontakte in einer HTML Seite anzeigen lassen?" , vbYesNo)

If HTMLanzeigen = vbYes Then

	Set Shell = CreateObject("WScript.Shell")

	Shell.Run (HTMLfilename)

Else 

	MsgBox ("HTML Datei wird nicht geöffnet.")

End If



'+++++++++++++++++++++++++++++++++++++++++++++++

'Functions and Subs

'+++++++++++++++++++++++++++++++++++++++++++++++


'Name

Sub GibName()

	Name = InputBox("Gib deinen Vornamen ein!", "Adressenverwaltung")

	Do

		If Len(name) < 2 Then

			WScript.Echo "Sie haben keinen Namen eingegeben!"

			GibName

		End If

	Loop While Len(name) < 2

End Sub


'Nachname

Sub GibNachname()

	nachname = InputBox("Gib deinen Nachnamen ein!", "Adressenverwaltung")	

	Do 	

		If Len(nachname) < 2 Then

			WScript.Echo "Sie haben Ihren Nachnamen nicht eingegeben!"	

			GibNachname

		End If

	Loop While Len(nachname) < 2

End Sub


'Strasse

Sub GibStrasse()

	strasse = InputBox("Bitte Straße und Hausnummer eingeben!", "Adressenverwaltung")

	Do

		If Len(strasse) < 3 Then

			WScript.Echo "Sie haben keine Straße eingegeben!"

			GibStrasse

		End If

	Loop While Len(strasse) < 3

End Sub


'Plz

Sub GibPLZ()

	PLZ = InputBox("Bitte Postleitzahl eingeben!", "Adressenverwaltung")

	Do

		If Len(plz) < 5 Then 

			WScript.Echo "Ihre Postleitzahl ist zu kurz!"

			GibPLZ

			Else	

			If Len(plz) > 5 Then

				WScript.Echo "Ihre Postleitzahl ist zu lang!"

				GibPLZ				'wscript.quit

			Else

				'WScript.Echo "Postleitzahl wurde akzeptiert!"

				'weiter machen

			End If

		End If

	Loop While Len(Plz) <> 5

End Sub


'Ort

Sub GibOrt()

	Ort = InputBox("Nun gib deinen Wohnort ein!", "Adressenverwaltung")

	Do

		If Len(ort) < 3 Then

		WScript.Echo "Sie haben keinen Ort eingegeben!"

		GibOrt

		End If

	Loop While Len(ort) < 3

End Sub


'Telefonnummer

Sub GibTelefonnummer()

	Telefonnummer = InputBox("Zuletzt noch deine Telefonnummer eingeben!", "Adressenverwaltung")

	Do

		If Len(Telefonnummer) < 5 Then

		WScript.Echo "Sie haben keine gültige Telefonnummer (mit Vorwahl) eingegeben!"

		GibTelefonnummer

		End If

	Loop While Len(Telefonnummer) < 5

End Sub


' Text Datei mit Notepad ausgeben

Sub OpenAdressFile

	Dim oShell

	Set oShell = CreateObject("WScript.Shell")

	oShell.Run ("Notepad.exe " & strAdressFilePath)

End Sub



Function readfile(filename)

	Set fs = CreateObject("Scripting.FileSystemObject")

	If Not fs.FileExists(filename) Then

		readfile = """" & filename & """ nicht gefunden."

		Exit Function

	End If


	Set textstream = fs.OpenTextFile(filename)

	readfile = textstream.ReadALL

	textstream.close     

End Function


'+++++++++++++++++++++++++++++++++++++++++++++++

'Textdatei mit den Daten aus der InputBox füllen

'+++++++++++++++++++++++++++++++++++++++++++++++

Sub WriteInListe

	'In Textdatei schreiben

	Set write = fso.OpenTextFile (strAdressFilePath, 8, True)

	strDatensatz = Name & ";" & Nachname & ";" & Strasse & ";" & plz & ";" & Ort & ";" & Telefonnummer & VbCrLf


	write.WriteLine(strDatensatz)

	write.close



	'In HTML Datei schreiben

	Set write = fso.OpenTextFile (HTMLfilename, 8, True)


	'HTML

	write.WriteLine("<html>")

	write.WriteLine("<head><body bgcolor='#FFDAB9'></head>")

	write.WriteLine("<title>Adressverwaltung</title>")

	'Öffne Tabelle (zentriert)

	write.WriteLine("<CENTER><table width='900' border='1' bordercolor='#F4A460' bgcolor='#FFEFD5'>")

	'Öffne Tabellenreihe

	write.WriteLine("<tr>")

	'Write Name

	write.WriteLine("<td width='150'>")

	write.WriteLine("<Center>")

	write.WriteLine("<font face='Verdana' color='black' size='2'>")

	write.WriteLine(Name)

	write.WriteLine("</font>")

	write.WriteLine("</Center>")

	write.WriteLine("</td>")

	'Write Nachname

	write.WriteLine("<td width='150'>")

	write.WriteLine("<Center>")

	write.WriteLine("<font face='Verdana' color='black' size='2'>")

	write.WriteLine(Nachname)	

	write.WriteLine("</font>")

	write.WriteLine("</Center>")	

	write.WriteLine("</td>")

	'Write Straße und Hausnummer

	write.WriteLine("<td width='150'>")

	write.WriteLine("<Center>")

	write.WriteLine("<font face='Verdana' color='black' size='2'>")

	write.WriteLine(strasse)	

	write.WriteLine("</font>")

	write.WriteLine("</Center>")	

	write.WriteLine("</td>")

	'Write PLZ

	write.WriteLine("<td width='150'>")

	write.WriteLine("<Center>")

	write.WriteLine("<font face='Verdana' color='black' size='2'>")

	write.WriteLine(plz)	

	write.WriteLine("</font>")	

	write.WriteLine("</Center>")

	write.WriteLine("</td>")

	'Write Ort

	write.WriteLine("<td width='150'>")

	write.WriteLine("<Center>")

	write.WriteLine("<font face='Verdana' color='black' size='2'>")

	write.WriteLine(Ort)		

	write.WriteLine("</font>")

	write.WriteLine("</Center>")

	write.WriteLine("</td>")

	'Write Telefonnummer

	write.WriteLine("<td width='150'>")

	write.WriteLine("<Center>")

	write.WriteLine("<font face='Verdana' color='black' size='2'>")

	write.WriteLine(Telefonnummer)		

	write.WriteLine("</font>")

	write.WriteLine("</Center>")

	write.WriteLine("</td>")	

	'Schließe Tabellenreihe

	write.WriteLine("</tr>")

	'Schließe Tabelle

	write.WriteLine("</table></CENTER><BR>")

	write.WriteLine("</html>")


	write.close



	'Tabellendesign mit CSS erstellen


	Set write = fso.OpenTextFile (HTMLfilenameCSS, 8, True)

	write.WriteLine ("<html>")

	'write.WriteLine ("<link rel='stylesheet' type='text/css' href='"cssFilename"'>")

	write.WriteLine ("<title>Adressverwaltung</title>")

	write.WriteLine ("<style type='text/css'>BODY { background-color: #FFDAB9; }</style>")

	write.WriteLine ("<CENTER><table style='width:900px; background-color:#FFEFD5; border-color:#F4A460; border-style:solid; border-width:thin;'>")

	write.WriteLine ("<tr>")

	'Write Name

	write.WriteLine ("<td style='width:150px;'><Center><span style=font-family:'Verdana'; font-size:small; color:black;><Center>")

	write.WriteLine (Name)

	write.WriteLine ("</span></Center></td>")

	'Write Nachname

	write.WriteLine ("<td style='width:150px;'><Center><span style=font-family:'Verdana'; font-size:10px; color:black;><Center>")

	write.WriteLine (Nachname)

	write.WriteLine ("</span></Center></td>")

	'Write Straße

	write.WriteLine ("<td style='width:150px;'><Center><span style=font-family:'Verdana'; font-size:10px; color:black;><Center>")

	write.WriteLine (strasse)

	write.WriteLine ("</span></Center></td>")

	'Write PLZ

	write.WriteLine ("<td style='width:150px;'><Center><span style=font-family:'Verdana'; font-size:10px; color:black;><Center>")

	write.WriteLine (Plz)

	write.WriteLine ("</span></Center></td>")

	'Write Ort

	write.WriteLine ("<td style='width:150px;'><Center><span style=font-family:'Verdana'; font-size:10px; color:black;><Center>")

	write.WriteLine (Ort)

	write.WriteLine ("</span></Center></td>")

	'Write Telefonnummer

	write.WriteLine ("<td style='width:150px;'><Center><span style=font-family:'Verdana'; font-size:10px; color:black;><Center>")

	write.WriteLine (Telefonnummer)

	write.WriteLine ("</span></Center></td>")

	'Schließen der geöffneten Tags	

	write.WriteLine ("</tr></CENTER><BR></html>")

	write.Close



	'In CSS Datei schreiben




	Set write = fso.OpenTextFile (cssFilename, 2, True)


	write.WriteLine (" BODY { background-color: #FFDAB9 } ")

	write.WriteLine (" #text { font-family:Verdana; color:black; font-size:small; } ")

	write.WriteLine (" #tabelle { background-color:#FFEFD5; width:900px; border-color:#F4A460; border-style:solid; border-width:thin; } ")

	write.WriteLine (" #tabellenfeld { width:150px; } ")


	write.Close


End Sub

Geschrieben

Das Problem ist das wenn ich suchen will kann ich nach dem letzten Eintrag im Array nicht suchen! :(

Außerdem wenn ich nach was anderem als Vorname suche kommt teilweise eine Fehlermeldung oder die Ausgabe wird verschoben dar gestellt.

Ich hab keine Ahnung an welchem Bereich des Codes das Problem hängt :(

Geschrieben
Die wird doch schon um 1 erhöht:
CountLines = CountLines + 1

:)

'Suche in Array
Function SucheInArray()
Dim ix, iy

For ix = 0 To 6
For iy = 0 To CountLines

'Bei Suche nach Vornamen:
If strSuche = arrAdresse(ix, iy) Then
MsgBox "Vorname:" & arrAdresse(ix,iy) & vbCr & "Nachname:" & arrAdresse(ix+1,iy) & vbCr & "Strasse:" & arrAdresse(ix+2,iy) & vbCr & "PLZ:" & arrAdresse(ix+3,iy) & vbCr & "Ort:" & arrAdresse(ix+4,iy) & vbCr & "Telefonnummer:" & arrAdresse(ix+5,iy)

' 'Suche nach Nachnamen
' Elseif strSuche = arrAdresse(ix+1, iy) Then
' MsgBox "Vorname:" & arrAdresse(ix,iy) & vbCr & "Nachname:" & arrAdresse(ix+1,iy) & vbCr & "Strasse:" & arrAdresse(ix+2,iy) & vbCr & "PLZ:" & arrAdresse(ix+3,iy) & vbCr & "Ort:" & arrAdresse(ix+4,iy) & vbCr & "Telefonnummer:" & arrAdresse(ix+5,iy)
' [/PHP]

kann sein dass die variable da zu klein ist und desshalb die letzte zeile nicht mitnimmt... darum bitte mal um noch eins erhöhen ;) (vorher)

Geschrieben
Kann dir leider grade gedanklich nicht so folgen :(

Welche Variable meinst du?:confused: ;)

For ix = 0 To 6

For iy = 0 To CountLines

heißt dass er es so oft macht wie die liste lang ist (dynamisch)

hat er beim zählen immer eins zu wenig kommt er nie zum letzten satz, zumindest les ich das so...

  • 1 Monat später...
Geschrieben

Ich kram dieses Thema wieder aus, weil ich wieder ein Problem mit der Suche habe, mal wieder :(

Problem ist nur wie ich euch mein Problem erklären soll ohne gleich den gesamten Code einstellen zu müssen den dann verständlicher Weise sicher keiner lesen will ;)

Also auf jedenfall bekomme ich folgende Fehlermeldung: Laufzeitfehler in Microsoft VBScript: Index außerhalb des gültigen Bereichs: '[number: 0]' sobald ich in meinem Array was suchen will...

Ich habe eine Textdatei mit Daten, aus den Daten wird ein Array erzeugt, in diesem dann gesucht werden kann...

Suchbegriffseingabe:

Sub Suchfunktion

strSuche = InputBox ("Geben Sie bitte Ihren Suchbegriff ein!" , "Suchfunktion")

End Sub 
Erzeugen des Array:
Sub AddToArray(sLine)

	Dim arTemp 'Variable für Temporäres Array

	iArrayElements = iArrayElements + 1 'hochzählen um 1

	'WScript.Echo "iArrayElements:" & iArrayElements & vbNewLine

	ReDim Preserve arrAdresse(6, iArrayElements)


	arTemp = Split(sLine, ";") 

	'WScript.Echo UBound(arTemp)

	arrAdresse(0,iArrayElements) = arTemp(0)

	arrAdresse(1,iArrayElements) = arTemp(1)

	arrAdresse(2,iArrayElements) = arTemp(2)

	arrAdresse(3,iArrayElements) = arTemp(3)

	arrAdresse(4,iArrayElements) = arTemp(4)

	arrAdresse(5,iArrayElements) = arTemp(5)
Laden der Daten:
Function ReadEntireFile(strAdressFilePath)

   Const ForReading = 1

   Dim fso, theFile, retstring, i

   i = 0

   Set fso = CreateObject("Scripting.FileSystemObject")

   Set theFile = fso.OpenTextFile(strAdressFilePath, ForReading, False)

   Do While theFile.AtEndOfStream <> True


      	AddToArray(theFile.ReadLine)


      	i = i + 1

      	CountLines = CountLines + 1


   Loop

   theFile.Close

   'ReadEntireFile = retstring '<-- Was bedeutet das??

End Function
Und hier jetzt das suchen:
Function SucheInArray()

Dim ix, iy


For ix = 0 To 6	

	For iy = 0 To CountLines


		If strSuche = arrAdresse(ix, iy) Then

			MsgBox "Vorname:" & arrAdresse(ix,iy) & vbCr & "Nachname:" & arrAdresse(ix+1,iy) & vbCr & "Strasse:" & arrAdresse(ix+2,iy) & vbCr & "PLZ:" & arrAdresse(ix+3,iy) & vbCr & "Ort:" & arrAdresse(ix+4,iy) & vbCr & "Telefonnummer:" & arrAdresse(ix+5,iy)		

			NochmalSuchen


		Else	

		End If

	Next 

Next


	Dim i

	Dim arrTempAdresse() 'Temporäres Array um die Ergebnisse der Suche zu speichern

	Dim iArrayElem2

	iArrayElem2 = 0


	For i = 1 To UBound(arrAdresse, 2)						'von 1 bis zum höchsten Index-Wert

		If strSuche = arrAdresse(1,i) Then					'Wenn der Suchbegriff = dem Feld (1,i) im Datenarray ist,dann...

			iArrayElem2 = iArrayElem2 + 1					'iArrayElem2 um 1 erhöhen

			WScript.Echo "iArrayElements:" & iArrayElem2 & vbNewLine	

			ReDim Preserve arrTempAdresse(6, iArrayElem2)	'Deklaration eines dynamischen Array

			arrTempAdresse(0, iArrayElem2) = arrAdresse(0,i) 

			arrTempAdresse(1, iArrayElem2) = arrAdresse(1,i)

			arrTempAdresse(2, iArrayElem2) = arrAdresse(2,i)

			arrTempAdresse(3, iArrayElem2) = arrAdresse(3,i)

			arrTempAdresse(4, iArrayElem2) = arrAdresse(4,i)

			arrTempAdresse(5, iArrayElem2) = arrAdresse(5,i)

			arrTempAdresse(6, iArrayElem2) = arrAdresse(6,i)


		End If 

	Next

End Func

Ich hoffe das jemand viel Zeit hat mir zu helfen! ;)

Geschrieben

Ich habe die erste Sub (Suchfunktion) jetzt mal auskommentiert, aber dennoch, sobald ich das Script ausführen will, kommt die Fehlermeldung.

Kann mir jemand helfen? :confused:

Geschrieben

*peinlich* ich habe die Sub "AddToArray" nirgends aufgerufen :rolleyes: Habs jetzt endlich bemerkt, jetzt gibts nur einige andere Fehler noch aber da werd ich mich dann nochmal hier melden wenn ich Hilfe brauche! :)

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...