Рубануть значение до запятой ?!?!

  • Автор темы Guest
  • Дата начала
G

Guest

#1
При помощи команды Strright, я могу прочитать значение до запятой с права, sDocLinks = Trim(Strright(sDocLinks,",")), или слева Strleft. А вот как рубануть значение до запятой?
 

Omh

Lotus team
04.07.2007
2 210
1
#2
Ну ещё есть StrRightBack и StrLeftBack :)
Тебе до заптой с какой стороны надо?
Кажись, StrLeft это то, что тебе нужно...
 

wowa

Well-known member
01.02.2007
845
0
#3
Для: Денис Кириченко
ну перепиши поле,
Call doc.ReplaceItemValue("поле",Trim(Strright(sDocLinks,",")))

Или что значит рубануть?
 
G

Guest

#5
Ну ещё есть StrRightBack и StrLeftBack :)
Тебе до заптой с какой стороны надо?
Кажись, StrLeft это то, что тебе нужно...
Omh, но видьи при помощи команды Strright, я могу только прочитать значение до запятой с права, а не "обрезать" значение до запятой или я не прав?
 

morpheus

скриптописец
07.08.2006
3 915
1
#6
Для: Денис Кириченко
где Вы хотите обрезать значения в докумете ?
 
G

Guest

#7
Для: Денис Кириченко
ну перепиши поле,
Call doc.ReplaceItemValue("поле",Trim(Strright(sDocLinks,",")))

Или что значит рубануть?
Точно, а без лишнего поля не как нельзя обойтись?

Для: Денис Кириченко
где Вы хотите обрезать значения в докумете ?
Нет, а переношу значение поля(uidoc) в переменную и удаляю документы постепенно:

sDocLinks = Trim(uidoc.FieldGetText("DocumentLinks"))

While sDocLinks <> ""
Set dDoc = db.GetDocumentByUNID(Strleft(sDocLinks,","))
Set uidoc = worksp
uidoc.DeleteDocument
Wend
 

Omh

Lotus team
04.07.2007
2 210
1
#8
Для: Денис Кириченко
Чёт тебя опять куда-то не туда понесло :)
Что за задача? :)
 

wowa

Well-known member
01.02.2007
845
0
#9
Для: Денис Кириченко
дак вы берете значение из поля , а потом хотите обрезать его до запятой???
А дальше, это значение куда??
<!--QuoteBegin-Денис Кириченко+18:02:2008, 13:03 -->
<span class="vbquote">(Денис Кириченко @ 18:02:2008, 13:03 )</span><!--QuoteEBegin-->Точно, а без лишнего поля не как нельзя обойтись?
[snapback]98560" rel="nofollow" target="_blank[/snapback]​
[/quote]
Ну вот в то поле откуда брали, туда и занесите...
 
G

Guest

#10
Для: Денис Кириченко
Чёт тебя опять куда-то не туда понесло :)
Что за задача? :)

В поле DocumentLinks я заношу uidoc документов, которые связаны с текущем документом. При удалении текущего документа мне надо будет удалять и его детей. Для этого я выбираю из поля DocumentLinks все uidoc всех связанных документов:

Sub Terminate

Dim db As NotesDatabase
Dim session As NotesSession
Dim cDoc As NotesDocument
Dim dDoc As NotesDocument
Dim uidoc As NotesUIDocument
Dim worksp As New NotesUIWorkspace

Dim sDocLinks As String

Set session = New NotesSession
Set db = session.CurrentDatabase

Set cDoc = uidoc.Document

Set uidoc = worksp.CurrentDocument
Set cDoc = uidoc.Document

sDocLinks = Trim(uidoc.FieldGetText("DocumentLinks"))

While sDocLinks <> ""
Set dDoc = db.GetDocumentByUNID(Strleft(sDocLinks,","))
uidoc.DeleteDocument
Wend

End Sub
 

wowa

Well-known member
01.02.2007
845
0
#11
Что-то запутанный код , Вам точно uidoc надо удалять?
может dDoc???
 

Omh

Lotus team
04.07.2007
2 210
1
#13
<!--QuoteBegin-Денис Кириченко+18:02:2008, 12:17 -->
<span class="vbquote">(Денис Кириченко @ 18:02:2008, 12:17 )</span><!--QuoteEBegin-->заношу uidoc документов
[snapback]98565" rel="nofollow" target="_blank[/snapback]​
[/quote]
UNID документов.

Допустим, дети у него не respons'ы.
Тогда ты хранишь в поле UNID'ы связанных доков. (на самая лучшая идея)
Лучше их хранить как array, т.е. multivalue поле, что бы удобно использовать например forall.
Но раз уж хранишь, как стринг с запятыми можно сделать Split и получить array и потом пройтись forall'ом.
 
G

Guest

#16
А как можно определить, что документ удаляется? В процедуре Terminate, Формы? Че-то не то. Может знает кто?
 

morpheus

скриптописец
07.08.2006
3 915
1
#17
Для: Денис Кириченко
У базы данных есть Event
QueryDocumentDelete сматреть в Others\DataBase Resources\Database Script
 
G

Guest

#18
Для: Omh
Спасибо за помощь :)

Для: Morpheus
Спасибо за помощь :)

Для: Денис Кириченко
У базы данных есть Event
QueryDocumentDelete сматреть в Others\DataBase Resources\Database Script
Нашел:
Sub Querydocumentdelete(Source As Notesuidatabase, Continue As Variant)

End Sub

но, вот не задача, а как определить что документ удаляется из определенной формы, т.е. созданный из этой формы?
 

morpheus

скриптописец
07.08.2006
3 915
1
#19
Для: Денис Кириченко
Спросите у документа его форму
 

Omh

Lotus team
04.07.2007
2 210
1
#20
Денисыч, тебе надо углубиться в хелп.
Поле "Form" рассказывает на какой форме умолчательно открывается данный документ.