Danke BANXX...werde es heute ausprobieren..morgen gibt es Rückmeldung...und maybe ein tut ;))
Beiträge von Dubbai
-
-
Hi knaepp...
hats du denn ein tut dafür irgendwo im netz schon gesehen..?? und kannst darauf verweisen
Thx
-
hi....
naja kannst deine lösung ja posten wenn du magst würde mich interessierengruss dubbai
-
Moin..leutz...habe eine Lösung gefunden...
http://www-10.lotus.com/ldd/sa…6c5c00482cd1?OpenDocument
2 Extended Attachment Edition
Edit and handle Attachments in Notes 4 the same way as in Notes 6Danke für alles.
mfg dubbai
-
rock...nach einem regen kommt auch sonnenschein....ich denke wir sollten morgen sehen ob die sonne scheint....idealerweise wäre so ein script schon toll.
naja mal schauen
nice feierabend leut..und danke für alles bis jetzt
gruss dubbai
-
okok ..doch das Problem ist mehr folgendes...man muss das attachment markieren..und dies ist nicht userfreundlich..sollte automatisch in hintergrund passieren.
gruss dubbai
-
ist es denn mit Script möglich....die Anhänge zu markieren...und diese dann zu starten..per aktionbutton??
ich habe leider keine ahnung von Script..ist diese Anforderung anspruchsvoll und schwer?
Danke mfg dubbai
-
in der Aktionleiste funzt es....jedoch..es funktioniert wenn ich ...im edit modus bin....und den anhang markiere....wie kann ich die Markierung automatisieren denn so ist es mir keine hilfe???..ich muss ja dann immer bevor ich den anhang öffnen will den Anhang markieren.
Kann mir da jemand helfen?
gruss dubbai
-
Hi...also die email mit anhang ist im edit modus...attachment ist ausgewählt...ich nutze es nicht im web...und mit design mode hmm was ist das..wie sehe ich das ich es offen habe....komisch hier...bin am ende
-
Hi...hmm eine Frage...habe eine DB..möchte..per schaltfläche...die anhänge öffnen...
mache dies über @Command( [AttachmentLaunch] )...warum funzt das nicht....kommt immer eine Fehlermeldung?...und zwar..[ausgewählter befehl kann nicht ausgeführt werden]Was habe ich für ein Fehler..blicke da nicht durch??
Mfg dubbai
-
Sorry hab im Archiv ein Eintrag gefunden..Problem ist gelöst.
MfG
Dubbai -
Hallo Zusammen,
ich habe ein Feld Kategorie (dialogliste)
Dieses Feld soll durch die Eingabe immer wieder erweitert werden.Bedeutet wenn ich Kat1 eingabe soll beim nächsten Aufruf dieser Liste auch Kat1 drinstehen...usw...das heisst...diese Liste wird durch die im Feld eingegebenen Daten immer automatisch erweitert.
Hat jemand eine Idee wie ich dies machen kann??
Ich weiss im Moment nicht wie ich dies Anstellen soll.
Erbitte um Hilfe.Danke im voraus.
MfG Dubbai -
-
Hi,
ist erstmal lokal....doch danke für dein Bemühen..habe das Problem "die Herrausforderung*g*" schon erfolgreich gelöst.
Bye Dubbai
-
Danke für euere Antworten...
Habe das Problem gelöst
MfG Dubbai
-
Hi Ronka,
Datei nicht vorhanden erscheint im Feld, nachdem ich Deinen Rat befolgt habe und @Text(lookup)eingetragen habe.
MfG
DubbaiWas kann ich tun...wie bringe ich das Kind ans laufen?
:-? -
Hi,
habe ich im Netz gefunden maybe kannst Du es für Deine Funktion benötigen *zw*.
_________________________________________________________________________________________
Dieser etwas umfangreichere Tip dient dazu IP-Adressen von Rechnernamen (z.B.: Domänen) zu ermitteln. Es kann dabei über eine bestehende Online Verbindung auf den DNS des Providers zugefriffen werden. Dadurch ist die Umrechnung zwischen IP-Nummer und Rechnername bzw. umgekehrt möglich. Zudem ist daß ganze auch noch Offline auf ein Netzwerk anwendbar.
Weiterhin nutzt dieser Tip die Möglichkeiten der automatischen Einwahl, als auch die Abfrage des DFÜ-Status.
_________________________________________________________________________________________Private Declare Function WSAGetLastError Lib "WSOCK32.DLL" () _
As LongPrivate Declare Function WSAStartup Lib "WSOCK32.DLL" ByVal _
wVersionRequired&, lpWSAData As WinSocketDataType) _
As LongPrivate Declare Function WSACleanup Lib "WSOCK32.DLL" () _
As LongPrivate Declare Function gethostname Lib "WSOCK32.DLL" ByVal _
HostName$, ByVal HostLen%) As LongPrivate Declare Function gethostbyname Lib "WSOCK32.DLL" _
(ByVal HostName$) As LongPrivate Declare Function gethostbyaddr Lib "WSOCK32.DLL" _
(ByVal addr$, ByVal laenge%, ByVal typ%) As LongPrivate Declare Sub RtlMoveMemory Lib "kernel32" (hpvDest As _
Any, ByVal hpvSource&, ByVal cbCopy&)Const WS_VERSION_REQD = &H101
Const WS_VERSION_MAJOR = WS_VERSION_REQD \ &H100 And &HFF&
Const WS_VERSION_MINOR = WS_VERSION_REQD And &HFF&Const MIN_SOCKETS_REQD = 1
Const SOCKET_ERROR = -1
Const WSADescription_Len = 256
Const WSASYS_Status_Len = 128Private Type HostDeType
hName As Long
hAliases As Long
hAddrType As Integer
hLength As Integer
hAddrList As Long
End TypePrivate Type WinSocketDataType
wversion As Integer
wHighVersion As Integer
szDescription(0 To WSADescription_Len) As Byte
szSystemStatus(0 To WSASYS_Status_Len) As Byte
iMaxSockets As Integer
iMaxUdpDg As Integer
lpszVendorInfo As Long
End Type'### Der folgende Abschnitt dient nur dazu, um festzustellen
' ob eine Online-Verbindung besteht bzw. um diese herzu-
' stellen und wieder abzubrechen.
' Sie können diesen Block bei Verzicht dieser Funktionen
' getrost löschenPrivate Declare Function RasEnumConnections Lib "RasApi32.DLL" _
Alias "RasEnumConnectionsA" (lpRasCon As Any, lpcb As _
Long, lpcConnections As Long) As LongPrivate Declare Function RasGetConnectStatus Lib "RasApi32.DLL" _
Alias "RasGetConnectStatusA" ByVal hRasCon As Long, _
lpStatus As Any) As LongPrivate Declare Function RasEnumEntries Lib "RasApi32.DLL" _
Alias "RasEnumEntriesA" ByVal reserved$, ByVal _
lpszPhonebook$, lprasentryname As Any, lpcb As Long, _
lpcEntries As Long) As LongPrivate Declare Function RasHangUp Lib "RasApi32.DLL" _
Alias "RasHangUpA" ByVal hRasConn As Long) As LongConst RAS_MaxEntryName = 256
Const RAS_MaxDeviceType = 16
Const RAS_MaxDeviceName = 32Private Type RASType
dwSize As Long
hRasCon As Long
szEntryName(RAS_MaxEntryName) As Byte
szDeviceType(RAS_MaxDeviceType) As Byte
szDeviceName(RAS_MaxDeviceName) As Byte
End TypePrivate Type RASStatusType
dwSize As Long
RasConnState As Long
dwError As Long
szDeviceType(RAS_MaxDeviceType) As Byte
szDeviceName(RAS_MaxDeviceName) As Byte
End TypePrivate Type RASENTRYNAME95
dwSize As Long
szEntryName(RAS_MaxEntryName) As Byte
End TypeDim DFÜName$
Private Function DFÜStatus() As Boolean
Dim RAS(255) As RASType, RASStatus As RASStatusType
Dim lg&, lpcon&, Result&RAS(0).dwSize = 412
lg = 256 * RAS(0).dwSize
Result = RasEnumConnections(RAS(0), lg, lpcon)If lpcon = 0 Then
DFÜStatus = False
Label3.Caption = "Offline"
Else
RASStatus.dwSize = 160
Result = RasGetConnectStatus(RAS(0).hRasCon, RASStatus)
If RASStatus.RasConnState = &H2000 Then
DFÜStatus = True
Label3.Caption = "Online"
Else
DFÜStatus = False
Label3.Caption = "Einwahl oder Trennen der Verbindung"
End If
End If
End FunctionPrivate Function Online() As Boolean
Dim Test As Boolean
Test = DFÜStatus
If Test = False Then MsgBox _
("Keine Online Verbindung vorhanden ! Bitte einwählen !")
Online = Test
End FunctionPrivate Function GetDFÜ() As String
Dim s&, ln&, i%
Dim r(255) As RASENTRYNAME95r(0).dwSize = 264
s = 256 * r(0).dwSize
Call RasEnumEntries(vbNullString, vbNullString, r(0), s, ln)
DFÜName = StrConv(r(i).szEntryName(), vbUnicode)
DFÜName = Left$(DFÜName, InStr(DFÜName, vbNullChar) - 1)
Shell "rundll32.exe rnaui.dll,RnaDial " & DFÜName
Shell "rundll32.exe rnaui.dll,RnaDial " & DFÜName
End FunctionPrivate Sub HangUp(ByVal Verbindung$)
Dim s&, l&, ln&, aa$, rec&
ReDim r(255) As RASTyper(0).dwSize = 412
s = 256 * r(0).dwSize
l = RasEnumConnections(r(0), s, ln)
For l = 0 To ln - 1
aa = StrConv(r(l).szEntryName(), vbUnicode)
aa = Left$(aa, InStr(aa, Chr$(0)) - 1)
If aa = Verbindung Then rec = RasHangUp(r(l).hRasCon)
Next
End SubPrivate Sub Form_Load()
Timer1.Interval = 200
Timer1.Enabled = True
End SubPrivate Sub Timer1_Timer()
DFÜStatus
End SubPrivate Sub Command5_Click()
Call GetDFÜ
End Sub
Private Sub Command7_Click()
If DFÜName <> "" Then Call HangUp(DFÜName)
End Sub
'### Ende des DFÜ-Pfrüfungs AbschnittsPrivate Sub Command1_Click()
'### Eigene Adresse ermitteln
InitSockets
Text5.Text = MyHostName$()
CleanSockets
End SubPrivate Sub Command2_Click()
'### Eigene IP-Adressen abfragen
' Diese Routine kann unteranderem dazu benutzt werden,
' dynamische durch einen Provider zugewiesene IP-Adressen
' auszulesen.
' Da hier alle eigenen IP ausgelesen werden müssen die statio-
' nären [Localhost (127.0.0.1), Netzwerk (192.168.xxx.xxx)]
' eleminiert werden. Entfernen Sie dann aber auch folgende
' Steuerelemente aus dem Form:
' Timer1
' Label3
' Command5
' Command7Dim X%
Dim IP$, DNS$, HOST$
If Not Online Then Exit Sub
MousePointer = vbHourglass
InitSockets
HOST = MyHostName$()
List1.ClearDo
IP = HostByName$(HOST, X)
If Len(IP) = 0 Then Exit DoDNS = HostByAddress(IP$)
List1.AddItem "DNS: " & DNS & " " & "IP: " & IP
X = X + 1
LoopCleanSockets
MousePointer = vbDefault
End SubPrivate Sub Command3_Click()
Dim aa$
'### DNS-Abfrage nach Domäne (gibt IP zurück)
If Not Online Then Exit Sub
MousePointer = vbHourglass
InitSockets
aa = HostByAddress(Text1.Text)
If aa = "" Then MsgBox ("Nicht gefunden")
Text4.Text = aa
CleanSockets
MousePointer = vbDefault
End SubPrivate Sub Command4_Click()
Dim aa$
'### DNS-Abfrage nach IP (gibt Domäne zurück)
If Not Online Then Exit Sub
MousePointer = vbHourglass
InitSockets
aa = HostByName$(Text2.Text)
If aa = "" Then MsgBox ("Nicht gefunden")
Text3.Text = aa
CleanSockets
MousePointer = vbDefault
End SubPrivate Sub Command6_Click()
Unload Me
End SubPrivate Function HostByAddress(ByVal Addresse$) As String
Dim X%
Dim HostDeAddress&
Dim aa$, BB As String * 5
Dim HOST As HostDeTypeaa = Chr$(Val(NextChar(Addresse, ".")))
aa = aa + Chr$(Val(NextChar(Addresse, ".")))
aa = aa + Chr$(Val(NextChar(Addresse, ".")))
aa = aa + Chr$(Val(Addresse))HostDeAddress = gethostbyaddr(aa, Len(aa), 2)
If HostDeAddress = 0 Then
HostByAddress = ""
Exit Function
End IfCall RtlMoveMemory(HOST, HostDeAddress, LenB(HOST))
aa = ""
X = 0
Do
Call RtlMoveMemory(ByVal BB, HOST.hName + X, 1)
If Left$(BB, 1) = Chr$(0) Then Exit Do
aa = aa + Left$(BB, 1)
X = X + 1
LoopHostByAddress = aa
End FunctionPrivate Function HostByName(Name$, Optional X% = 0) As String
Dim MemIp() As Byte
Dim Y%
Dim HostDeAddress&, HostIp&
Dim IpAddress$
Dim HOST As HostDeTypeHostDeAddress = gethostbyname(Name)
If HostDeAddress = 0 Then
HostByName = ""
Exit Function
End IfCall RtlMoveMemory(HOST, HostDeAddress, LenB(HOST))
For Y = 0 To X
Call RtlMoveMemory(HostIp, HOST.hAddrList + 4 * Y, 4)
If HostIp = 0 Then
HostByName = ""
Exit Function
End If
Next YReDim MemIp(1 To HOST.hLength)
Call RtlMoveMemory(MemIp(1), HostIp, HOST.hLength)IpAddress = ""
For Y = 1 To HOST.hLength
IpAddress = IpAddress & MemIp(Y) & "."
Next YIpAddress = Left$(IpAddress, Len(IpAddress) - 1)
HostByName = IpAddress
End FunctionPrivate Function MyHostName() As String
Dim HostName As String * 256If gethostname(HostName, 256) = SOCKET_ERROR Then
MsgBox "Windows Sockets error " & Str(WSAGetLastError())
Exit Function
Else
MyHostName = NextChar(Trim$(HostName), Chr$(0))
End If
End FunctionPrivate Sub InitSockets()
Dim Result%
Dim LoBy%, HiBy%
Dim SocketData As WinSocketDataTypeResult = WSAStartup(WS_VERSION_REQD, SocketData)
If Result <> 0 Then
MsgBox ("'winsock.dll' antwortet nicht !")
End
End IfLoBy = SocketData.wversion And &HFF&
HiBy = SocketData.wversion \ &H100 And &HFF&If LoBy < WS_VERSION_MAJOR Or LoBy = WS_VERSION_MAJOR And _
HiBy < WS_VERSION_MINOR Then
MsgBox ("Die Windows-Sockets Version " & Trim$(Str$(LoBy)) & _
"." & Trim$(Str$(HiBy)) & " wird nicht von der '" & _
"winsock.dll' unterstützt !")
End
End IfIf SocketData.iMaxSockets < MIN_SOCKETS_REQD Then
MsgBox ("Diese Anwendung verlangt mindestens " & _
Trim$(Str$(MIN_SOCKETS_REQD)) & " Sockets !")
End
End If
End SubPrivate Sub CleanSockets()
Dim Result&Result = WSACleanup()
If Result <> 0 Then
MsgBox ("Socket Error " & Trim$(Str$(Result)) & _
" in Prozedur 'CleanSockets' aufgetreten !")
End
End If
End SubPrivate Function NextChar(Text$, Char$) As String
Dim POS%
POS = InStr(1, Text, Char)
If POS = 0 Then
NextChar = Text
Text = ""
Else
NextChar = Left$(Text, POS - 1)
Text = Mid$(Text, POS + Len(Char))
End If
End FunctionMfG
Dubbai -
Hi,
maybe kannst Du mit diesen Codes was anfangen *g*
Fortlaufendenummer über Profildokument
Erstellen Sie eine Profildokument mit dem Namen "(Profil)" das das Feld "Nummer" enthält.
Das Folgende Script in in den - PostOpen Event - der Maske einbauen.
In der Maske wird das Feld Nummer_F als Platzhalter für die fortlaufende Nummer benutzt.
Möchte man; das die Nummer erst beim Speichern erstellt wird so gehört der gesamte Code in den QuerySave event - man verhindert dadurch; das eine Nummer erstellt wird; obwohl das Dokument gar nicht gespeichert wurde.Code Example
Sub Postopen(Source As Notesuidocument)
Dim session As New Notessession
Dim db As NotesDatabase
Dim ws As New NotesUIWorkspace
Dim doc As Notesdocument
Dim uidoc As NotesUIDocument
Dim test As Variant
Set db = session.Currentdatabase
Set uidoc = ws.CurrentDocument
Set doc = uidoc.Document
If Not doc.IsNewNote Then
Exit Sub
End If
Set doc = db.GetProfileDocument( "(Profil)")
test = doc.GetItemValue( "Nummer" )
nummer = Val(test(0))
nummer = nummer + 1
doc.Nummer_F = Str( nummer )
Call doc.save(True; True)
Set uidoc = ws.CurrentDocument
Call uidoc.FieldSetText( "Nummer_F"; Str( nummer ) )
End Sub_______________________________________________________________________________________________________________
Full Explanation
This formula will calculate the next available number.Code Example
REM - This sets up lookup values
CLASS := "Notes";
CACHE := "Cache";
NOCACHE := "NoCache";
SERVER := @Subset(@DbName; 1);
DATABASE := "";
VIEW := "($CallTrackingNumbers)";
KEY := "XXXX-999999";
COLUMN := 1;REM - This looks up & returns the column of already saved
GetString := @If(@IsError(@DbColumn(CLASS : NOCACHE; DATABASE; VIEW; COLUMN)); "XXXX-000000"; @DbColumn(CLASS : NOCACHE; DATABASE; VIEW; COLUMN));
LastNumUsed := @TextToNumber(@Right(GetString; 6));
NewNum := LastNumUsed + 1;
Digits := @Length(@Text(NewNum));
Zeros := 6 - Digits;
@If(CallIdNumber = ""; @If(@IsDocBeingSaved; "XXXX-" + @Repeat("0"; Zeros) + @Text(NewNum); ""); CallIdNumber)MfG
Dubbai -
Hi,
folgendes benötige ich..und hab keinen Ansatz.
Obwohl es mit dem DBLookup Befehl wohl klappen müsste.CLASS := "Notes";
NOCACHE := "NoCache";
CACHE := "Cache";
SERVER := @Subset(@DbName; 1);
DATABASE := "ServerDb01";
VIEW := "(ServerRaumAngaben)";
KEY := Land;
COLUMN := 2;
LookUp := @DbLookup(CLASS : CACHE; SERVER : DATABASE; VIEW; KEY; COLUMN);
@If(@IsError(LookUp); "???"; LookUp)Doch mir fehlt das Verständnis...maybe kann mir jemand mal erklären wie es funktioniert. Danke im vorraus.
So nun zur Aufgabe.
Ich habe eine Ansicht ServerRaumAngaben(die erste Spalte ist sortiert *g*).
Spalte1 Land /Spalte2 Ort/ Spalte3 Raum / etc.
In der Maske EingabeServer habe ich diese Felder Feld Land...Ort...Raum etc..
Ich möchte nun wenn ich das Land im Feld 1. auswähle und mir die richtige Spalte in dieser Ansicht markiere, das er mir diese Felder in die Felder Ort Raum etc.. automatisch füllt.
Ich habe es mit dieser Formel probiert jedoch immer die Fehlermeldung erhalten *grgr*. Problematisch ist auch die Aktualisierung. Sobald ich das Land auswählen sollen die anderen Felder sofort gefüllt werden.
Ich hoffe es genau beschrieben zu haben.
Jetzt meine Fragen kann mir jemand bei einer Lösung behilflich sein und mir die Verfahrensweise bei solchen Lösungen näherbringen..d.h. ich möchte es natürlich auch verstehen.Vielen Dank und MfG
Dubbai -
Hallo qbaer,
hast Du so ein Script und würdest Du ihm mir überlassen....so dass ich diesen individuell anpassen kann....für 10-20 Felder?
Denn ich denke die Felder werden sich vermehren.Danke
Gruss Dubbai