vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

In diesem Forum haben Sie die Möglichkeit Kommentare, Fragen und Verbesserungsvorschläge zu den im vb@rchiv gelisteten Tipps und Workshops zu posten.

Hinweis:
Ein neues Thema kann immer nur über die jeweilige Tipps & Tricks bzw. Workshop Seite eröffnet werden!

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fragen zu Tipps & Tricks und Workshops im vb@rchiv
Tipp 1925: Geschlecht anhand des Vornamens ermitteln 
Autor: rahan
 Tipp anzeigenDatum: 01.03.12 17:15

Hallo Leute,

den Tipp find ich mal echt spannend. Ich würde den gerne in VBA für Access umsetzten.
Ich weiß nicht wie ich den Befehl av = Array.IndexOf(p1, vSub) umsetzen soll.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Geschlecht anhand des Vornamens ermitteln 
Autor: Franki
Datum: 03.03.12 03:30

Hallo,

wie im Tipp beschrieben stammt das ja ursprünglich von Excel und ist nur umgeschrieben worden. Schau doch unter dem angegebenen Link mal nach, vermutlich ist das mit reinen Excel Formeln oder sogar VBA gemacht.

Das Thema ist zwar spannend, aber ich bezweifle, dass das zuverlässig ist. Ich würde immer ein Feld für das Geschlecht einer Person vorsehen und bei der Dateneingabe mit füllen falls das Geschlecht wichtig ist.

Gruß
Frank
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Geschlecht anhand des Vornamens ermitteln 
Autor: thuring
Datum: 15.03.12 11:47

Nun, ich verwende die Funktion seitdem sie fertig ist. Natürlich kann man nicht erwarten, dass alle Namen funktionieren (siehe bspw. die vielen ausländischen heutzutage).
Ich mache es so, dass der Feldwert erstmal von der Funktion so zu sagen vorgeschlagen wird. Man muss natürlich den Wert kontrollieren, wie eigentlich jeden eingegebenen Wert! Und dann gegebenenfalls ändern...

Gruß-

Salzburger

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Geschlecht anhand des Vornamens ermitteln 
Autor: thuring
Datum: 15.03.12 11:58

Vielleicht mit so einer Funktion:

Function ArrayIndexof(theArray() As Integer, value As Integer)
    Dim i As Integer
    Dim index As Integer
    index = -1
    For i = 0 To UBound((theArray)
        If theArrayt(i) = value Then
            index = i
            Exit For
        End If
    Next i
    Return index
End Function
Gruß-

Salzburger

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Geschlecht anhand des Vornamens ermitteln 
Autor: Guido Eisenbeis
Datum: 18.03.12 21:09

Heute wird mal von mir (fast) nur gemeckert.

Als allererstes: Ich war ja schon lange nicht mehr hier (im Forum), aber wo verflixt ist der "Zitieren"-Button? ... OK, hab's gefunden: Muss man alles von Hand machen und Text selbst kopieren, selbst einfügen, selbst einen Tag davorsetzen und selbst einen Tag dahinter setzen, und ... Ich hab da so 'ne Ahnung, warum ich so lange nicht mehr hier war!?


@thuring
Zitat:

Vielleicht mit so einer Funktion

Hääh??? Was??? In ganzen Sätzen reden hilft! Und was soll die Funktion denn tun.


@Dietrich Herrmann

Du schreibst zwar:
Zitat:

wer Namen findet, bei denen es nicht klappt- bitte bekannt geben.

aber du schreibst nicht wo. Ich machs jetzt mal hier: Zwitter: Danielle, Robin.

Und zum Schluss noch was Versöhnliches: Wer mich kennt, weiß dass ich's beim Meckern nicht bös' meine, sondern dass eine Portion konstruktive Kritik drin steckt, die man nutzen kann, um was verbessern kann. Und deshalb gleich noch einmal meckern für

@Dieter

Wenn ich eine nicht-manuelle Tag-Funktion benutze, wie z. B. die Buttons "Fett", "Unterstreichen", ... so springen die Tags einfach wo anders hin. Beispiel: Ich markiere ein beliebiges Wort, klicke auf den "Fett"-Button, dann erscheinen die Tags hinter dem Ende des Satzes! Ist das nur bei mir so? (Ich benutze Firefox 11.)


Wer trotz meinem Gemeckere bis hierhin gelesen hat, den belohne ich mit einem freundlichen Tschüss.

Guido.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Geschlecht anhand des Vornamens ermitteln 
Autor: ModeratorDaveS (Moderator)
Datum: 18.03.12 21:55

Die "So eine Funktion" bezieht sich offensichtlich auf den Beitrag worauf der Beitrag von thuring eine Antwort ist (vielleicht den Themenbaum einblenden?) Und auf jeden Fall mit einem guten Browser wie IE klappen die F/[u]U/K Tasten prima. Wenn du meckern willst, nichts dagegen, nur sollte das besser auch nachvollziehbar sein.

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Geschlecht anhand des Vornamens ermitteln 
Autor: thuring
Datum: 18.03.12 22:20

lol
-------------------
Wenn du nicht mal Tags setzen möchtest, dann möchtest du wohl auch nicht meine solchene Funktion benutzen?

Im Übrigen bildet sie Array.Indexof für VBA nach... Ich hoffe, du kannst sie auch in Verbindung mit der [u]Geschlechtsermittlungsfunktion anwenden.

[u]Danke für die Namenmeldung. Richtig erkannt, dass du sie genau hier melden kannst.
Wennst magst kannst du sie auch noch bei der Site mit der Excel-Lösung (siehe Original-Tipp-Text) melden.

(Alle Tags selbst gesetzt und dieses tolle Wort in 'fett/unterstrichen' auch selbst erfunden.)

Grüße

Salzburger

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Geschlecht anhand des Vornamens ermitteln 
Autor: rahan
Datum: 21.03.12 14:52

Hey Leute,
ich hatte jetzt mal die Zeit es umzusetzen, hab eine Funktion für Access VBA gemacht. Hätte nicht gedacht, dass es so viel Unterschiede zwischen VB und VBA gibt.
Es funktioniert schon ganz gut. Aber nicht bei allen. Man zeige mir bitte Herr Nicole.

Wegen Fehlermeldung: FEHLER
Der Nachrichtentext ist zu lang. Bitte kürzen Sie den Text auf max. 5 KB!
hier in zwei Teilen:

''' <summary>
  ''' Ermitteln anhand des Vornamens, ob Junge oder Mädchen
  ''' </summary>
  ''' <param name="vName">der Vorname</param>
  ''' <param name="fem">Standard-Ausgabetext weiblich</param>
  ''' <param name="mas">Standard-Ausgabetext männlich</param>
  ''' <returns>Ausgabetext</returns>
  Public Function getGeschlecht(ByVal vName As String, _
  Optional ByVal fem As String = "Frau", _
  Optional ByVal mas As String = "Herr") As String
 
  ' additive Mädels
  Dim f1 As Variant
 
  f1 = Array("a", "e", "i", "n", "u", "y")
  Dim f2 As Variant
  f2 = Array("ah", "al", "bs", "dl", "el", "et", "id", "il", "it", "ll", "th", _
    "ud", "uk")
  Dim f3 As Variant
  f3 = Array("ary", "aut", "des", "een", "eig", "ett", "fer", "got", "ies", _
    "iki", "ild", "ind", "itt", "jam", "joy", "kim", "lar", "len", "lis", _
    "men", "mor", "oan", "ren", "res", "rix", "san", "sis", "tas", "udy", _
    "urg", "vig", "yve")
  Dim f4 As Variant
  f4 = Array("ahel", "ardi", "atie", "borg", "cole", "endy", "gard", "gart", _
    "gnes", "gund", "iede", "indy", "ines", "iris", "ison", "istl", "ldie", _
    "lilo", "loni", "lott", "lynn", "mber", "moni", "nken", "oldy", "riam", _
    "rien", "riet", "rill", "sann", "smin", "ster", "uste", "vien")
  Dim f5 As Variant
  f5 = Array("achel", "agmar", "almut", "Candy", "Doris", "echen", "edwig", _
    "gerti", "irene", "mandy", "nchen", "paris", "rauke", "sabel", "sandy", _
    "silja", "sther", "trudi", "uriel", "velin", "vroni", "ybill")
  Dim f6 As Variant
  f6 = Array("almuth", "amaris", "irsten")
 
  ' subtraktive Jungs
  Dim v1 As Variant
  v1 = Array("ai", "an", "ay", "dy", "en", "ey", "fa", "gi", "hn", "iy", "ki", _
    "nn", "oy", "pe", "ri", "ry", "ua", "uy", "ve", "we", "zy")
  Dim v2 As Variant
  v2 = Array("ael", "ali", "aid", "ain", "are", "bal", "bby", "bin", "cal", _
    "cel", "cil", "cin", "die", "don", "dre", "ede", "edi", "eil", "eit", _
    "emy", "eon", "ffer", "gon", "gun", "hal", "hel", "hil", "hka", "iel", _
    "iet", "ill", "ini", "kie", "lge", "lon", "lte", "lja", "mal", "met", _
    "mia", "mil", "min", "mon", "mre", "mud", "muk", "nid", "nsi", "oah", _
    "obi", "oel", "örn", "ole", "oni", "oly", "phe", "pit", "rcy", "rdi", _
    "rel", "rge", "rka", "ron", "rne", "rre", "rti", "sil", "son", "sse", _
    "ste", "tie", "ton", "uce", "udi", "uel", "uli", "uke", "vel", "vid", _
    "vin", "wel", "win", "xei", "xel")
 
  ' subtraktive Jungs zwei
  Dim p1 As Variant
  p1 = Array("abel", "akim", "ammy", "atti", "bela", "didi", "dres", "eith", _
    "elin", "erin", "ffer", "frid", "gary", "gene", "glen", "hane", "hein", _
    "idel", "iete", "irin", "jona", "kind", "kita", "kola", "lion", "levi", _
    "mike", "muth", "naud", "neth", "nnie", "ntin", "nuth", "olli", "ommy", _
    "önke", "ören", "pete", "rene", "ries", "rlin", "rome", "rren", "rtin", _
    "ssan", "stas", "tell", "tila", "tony", "tore", "uele", "ucca")
  Dim p2 As Variant
  p2 = Array("astel", "benny", "billy", "billi", "brosi", "elice", "ianni", _
    "laude", "danny", "dolin", "ormen", "ronny", "sandy", "urice", "ustel", _
    "ustin", "willi", "willy")
  Dim p3 As Variant
  p3 = Array("jascha", "tienne", "urence", "vester")
 
  ' Zwitter???
  Dim x1 As Variant
  x1 = Array("Alex", "Alexis", "Andrea", "Auguste", "Carol", "Chris", "Conny", _
    "Dominique", "Eike", "Folke", "Friedel", "Gabriele", "Gerrit", "Heilwig", _
    "Jean", "Kay", "Kersten", "Kim", "Leslie", "Maris", "Maxime", "Nicola", _
    "Nikola", "Sascha", "Toni", "Winnie")
 
  Dim w1 As Boolean, w2 As Boolean, w3  As Boolean, w4 As Boolean
  Dim av As Integer
  Dim vSub As String
  vSub = ""
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Geschlecht anhand des Vornamens ermitteln 
Autor: rahan
Datum: 21.03.12 14:53

Hier Teil 2:

  For i = Len(vName) To 1 Step -1   ' -Jungs
    vSub = Mid(vName, i, Len(vName) + 1 - i)
    Select Case Len(vName) + 1 - i
      Case 4
        av = ArrayIndexof(p1, vSub)
        w3 = w3 + (av >= 0)
      Case 5
        av = ArrayIndexof(p2, vSub)
        w3 = w3 + (av >= 0)
      Case 6
        av = ArrayIndexof(p3, vSub)
        w3 = w3 + (av >= 0)
    End Select
  Next i
  For i = Len(vName) To 1 Step -1   ' -Jungs
    vSub = Mid(vName, i, Len(vName) + 1 - i)
    Select Case Len(vName) + 1 - i
      Case 2
        av = ArrayIndexof(v1, vSub)
        w2 = w2 + (av >= 0)
      Case 3
        av = ArrayIndexof(v2, vSub)
        w2 = w2 + (av >= 0)
    End Select
  Next i
  For i = Len(vName) To 1 Step -1   ' +Mädels
    vSub = Mid(vName, i, Len(vName) + 1 - i)
    Select Case Len(vName) + 1 - i
      Case 1
        av = ArrayIndexof(f1, vSub)
        w1 = w1 + (av >= 0)
      Case 2
        av = ArrayIndexof(f2, vSub)
        w1 = w1 + (av >= 0)
      Case 3
        av = ArrayIndexof(f3, vSub)
        w1 = w1 + (av >= 0)
      Case 4
        av = ArrayIndexof(f4, vSub)
        w1 = w1 + (av >= 0)
      Case 5
        av = ArrayIndexof(f5, vSub)
        w1 = w1 + (av >= 0)
      Case 6
        av = ArrayIndexof(f6, vSub)
        w1 = w1 + (av >= 0)
    End Select
  Next i
  w1 = w1 - w2 - w3
  av = ArrayIndexof(x1, vName)
  w4 = (av >= 0)  ' Zwitter
   If w4 = True Then
       getGeschlecht = "W|M"
    Else
             If w1 = True Then
                getGeschlecht = fem
             Else
                getGeschlecht = mas
             End If
   End If
End Function
Function ArrayIndexof(theArray As Variant, value As String)
    Dim i As Integer
    Dim index As Integer
    index = -1
    For i = 0 To UBound(theArray)
        If theArray(i) = value Then
            index = i
            Exit For
        End If
    Next i
    If index > -1 Then
        ArrayIndexof = 1
    Else
        ArrayIndexof = -1
    End If
 
End Function
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Geschlecht anhand des Vornamens ermitteln 
Autor: thuring
Datum: 21.03.12 19:08

Also Nicole:
Im Feld f3 zwischen 'oan' und 'ren' den Wert 'ole' einfügen.

Salzburger

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Geschlecht anhand des Vornamens ermitteln 
Autor: Manfred X
Datum: 21.03.12 23:23

Hallo!

Das Geschlecht läßt sich in vielen Fällen aus dem Vornamen
nicht ermitteln. Bei sog. UNISEX-Namen helfen keine Tricks,
Ausnahmenlisten u.a:
http://de.wiktionary.org/wiki/Wiktionary:Sprachen/Liste_geschlechtsneutraler_Vornamen

MfG
Manfred
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Geschlecht anhand des Vornamens ermitteln 
Autor: thuring
Datum: 22.03.12 00:15

Siehe mein Thread vom 15.03.12 11:47 zu diesem Thema.
Die Funktion ist gewissermaßen eine unterstützende.

Trotzdem besten Dank für den Link; diese Namen kann man ja einarbeiten, weil es nicht allzu viele sind.
Um sie nicht unbedingt 'hard zu coden' kann man ja über eine Speicherung derselben in einer Textdatei nachdenken (bspw. .csv)...

Grüße-

Salzburger

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Geschlecht anhand des Vornamens ermitteln 
Autor: Manfred X
Datum: 22.03.12 00:41

Hallo!

So war's gemeint: als Prüf-Liste der Funktion "vorschalten" und bei
diesen Namen keinen Vorschlag ausgeben.
Aber: Namensgebungen unterliegen Moden. Es enstehen laufend neue
Kreationen und die sind sehr oft nicht geschlechtsspezifisch.
Diese Liste wird deshalb im Laufe der Zeit immer länger ...

Beitrag wurde zuletzt am 22.03.12 um 00:43:27 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Geschlecht anhand des Vornamens ermitteln 
Autor: thuring
Datum: 22.03.12 08:31

Wenn nichts gefunden wird, gibt die Funktion 'F|M' aus, dann muss man sowieso selbst entscheiden..
Im Übrigen kann jeder auch diese Funktion nach seinem Gutdünken verändern/ergänzen wie eigentlich bei allen Tippvorschlägen hier. Nothing is perfect.

Und, lieber Manfred, mit der Zeit wird auch VB immer moderner... und man muss eben stets 'dran bleiben'.

Und wenn man dann die Vornamensgebung der so genannten, oder auch Möchtegern-, Promis beobachtet... lol.

Ciao-

Salzburger

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um einen neuen Beitrag schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel